Mercurial忽略文件重命名(更改案例)

das*_*mug 19 mercurial

我正在使用一个从Windows家伙继承的项目.这是在Hg版本控制下.它得到了它,我试图解决,所以我改名为命名的文件中的一些不一致的文件名惯例jquery.fullpage.jsjquery.fullPage.js(只是大写的"P"),坚持到jQuery库的原作者.

但是,Hg不会将小写 - 大写更改检测为重命名,甚至检测为已删除/创建的文件.结果,我不能承诺改变并推动它.它在本地工作但在我推送的远程登台服务器上,它给出404错误.显然,遥控器上的文件没有重命名为大写字母P.

我知道我可以通过删除文件,提交,恢复文件和重命名,再次提交来解决这个问题,但这似乎是修复它的粗略方法.

我该如何解决这个问题?

Jak*_*tka 27

这是一个案例折叠问题.尝试通过Mercurial重命名该文件:hg rename jquery.fullpage.js jquery.fullPage.js.

  • 这奏效了。我对这个解决方案不是很满意。虽然我已经阅读了更多关于大小写折叠问题的信息,但它似乎是不区分大小写的文件系统的问题。 (2认同)

Lub*_*rek 15

如果您正在重命名文件,那么您hg rename已经说好了.

但是(至少在Windows上),如果您要重命名文件夹,则无法直接重命名.常见的解决方法是使用中间体:

hg rename Foo tmp
hg rename tmp foo
Run Code Online (Sandbox Code Playgroud)

另一种解决方法是使用中间删除.但是这是不鼓励的,因为你会丢失文件历史记录.