Svn 水银盒折叠问题

Svn 水银盒折叠问题,svn,version-control,mercurial,tortoisehg,Svn,Version Control,Mercurial,Tortoisehg,这不是一个过去没有过的独特问题,但没有一个解决方案对我有帮助 我的案例-由Performce(由我公司的中央SCM)团队维护的大型存储库。现在他们改变了一些东西,所有的团队都管理自己的SCM,并且只在定期更新时使用主Performance(不要问我为什么-我对此没有发言权) 然而,我的问题是,为了团队的项目,我们搬到了Mercurial 它的巨大文件约为300k,可跨平台编译 我设置的mercurial repo在Linux上运行良好,但在windows上我遇到了折叠案例错误,无法签出或克隆re

这不是一个过去没有过的独特问题,但没有一个解决方案对我有帮助

我的案例-由Performce(由我公司的中央SCM)团队维护的大型存储库。现在他们改变了一些东西,所有的团队都管理自己的SCM,并且只在定期更新时使用主Performance(不要问我为什么-我对此没有发言权)

然而,我的问题是,为了团队的项目,我们搬到了Mercurial

它的巨大文件约为300k,可跨平台编译

我设置的mercurial repo在Linux上运行良好,但在windows上我遇到了折叠案例错误,无法签出或克隆repo

我试着从你那里得到答案

结果是这样的

  • hgfold扩展-不起作用-它抛出一些未知的python异常,有人遇到了这个问题,扩展的维护人员知道了,但没有立即修复

  • 这是不可能简单地重命名文件,我们的回购协议将打破,我必须生活在同一个文件名,在linux中,它的工作原理很好,正在使用。所以我不知道重命名是否是一种选择

  • Perforce处理得很好,但正如我说的,我在这里没有发言权

  • 那么这里还有其他出路吗??
    SVN能很好地处理箱子折叠吗??任何帮助对我都很有用。

    易变的书中有一章

    只需找到附近的Linux或Unix设备,克隆问题存储库即可 然后使用Mercurial的hg rename命令更改 任何有问题的文件或目录,以便它们不再引起 案例折叠冲突。提交此更改,hg pull或hg push 到您的Windows或MacOS系统,并更新到修订版 使用不冲突的名称

    问题是,实际上没有一种自动解决冲突的方法。文件名通常在其他文件中引用,如Makefiles或include语句或源文件中的配置文件读取。因此,任何自动解决这个问题的方法都很容易破坏某些东西

    从以上章节的评论中,我们可以得到一些提示:

    Grant Baillie 2009-08-13在Mac上,你也可以在你的电脑上进行修复 通过创建包含区分大小写的 文件系统。启动磁盘实用程序(在/Applications/Utilities中),单击 文件->新建->空白磁盘映像…,然后选择“Mac OS扩展” (日记,区分大小写)“作为卷格式

    你可以用

    find . -print | sort -f | uniq -di 
    

    在区分大小写的文件系统上查找所有大小写冲突的文件名。

    是否确实需要大小写折叠?只要文件的名称不只是大小写不同,就不必担心。Perforce也无法处理大小写折叠中的冲突,因为没有解决方案可以自动执行此操作。正如@Ringding已经正确提到的,只有在发生冲突时才需要折叠箱子。但是如果有冲突,如果你想处理不区分大小写的问题,你必须修复它们OS@Ringding-是的,我确实有冲突,事实上我们的仓库里有很多。它最初是由Perforce管理的。@Peer Stritzinger是的,我确实有冲突,我想它现在起作用的原因是,这些文件在不同的文件夹中。因为mercurial不按照central repo中的目录进行维护,所以当我尝试克隆时会出现此错误,但问题文件位于不同的目录中,因此如果SCM工具按目录维护文件,我应该不会有问题。我不确定我是否理解问题所在:1。如果在不同的目录中有同名文件(无论发生什么情况)->这根本不是冲突,也不重要。2.如果存在冲突,则冲突也必须位于同一目录中。