Git-svn允许重复的文件名,只是不同的情况下,被添加到我们的Subversion存储库。
在Windows上这意味着颠覆无法检出文件,抱怨重复。
另一名开发人员从版本库中删除了错误的版本。 现在当试图做一个git-svn重定位时,我得到一个“无法分离HEAD”的信息和一个关于被怀疑的文件名未被跟踪和需要被覆盖的投诉。 删除文件会让git-svn抱怨文件需要更新。
是唯一的解决scheme复制存储库到一个大小写敏感的文件系统的计算机做rebase然后将其移回?
我知道git-svn还没有准备好在Windows上进行真实世界的工作,但是我想从这个已经创build的混乱中恢复过来。
目前最好的答案(我不知道这是否存在,当这是最初提出):
git config core.ignorecase true
然后重做rebase。 它将继续进行,没有错误 – 甚至可以正确处理文件名的大小写变化。
这不是特定于git-svn。 它可以发生在一个“git rebase”。
我希望能帮助下一个人….
我遇到了类似的问题,与Git(单独,甚至没有git-svn)在使用不区分大小写的Mac文件系统时,更改文件名的情况变得非常困惑。 我没有找到解决方案来修复不区分大小写的文件系统的存储库,而是在一个.dmg
文件中创建了一个新的区分大小写的卷,然后在该卷上使用Git。
你可能会发现一些Git的“管道”命令可能会有所帮助。 例如, git checkout-index
有一个-f
标志来强制覆盖现有文件(也可以使用-a
与该命令,否则可能不会执行任何操作)。 管道命令通常比瓷器命令更强大(也更危险),但可能会给你灵活性,你需要解决这个问题。
你一直在Windows下解决这个问题的方式是一样的。 你必须重命名其中一个文件,然后你可以恢复另一个文件。