6

Git-svn 允许将重复的文件名(只是大小写不同)添加到我们的 subversion 存储库中。

在 Windows 上,这意味着 subversion 无法签出文件,抱怨重复。

另一位开发人员从存储库中删除了错误大小写的版本。现在,当尝试执行 git-svn rebase 时,我收到“无法分离 HEAD”消息,并抱怨有问题的文件名未被跟踪且需要被覆盖。删除文件会使 git-svn 抱怨文件需要更新。

将存储库复制到具有区分大小写文件系统的机器的唯一解决方案是执行变基然后将其移回吗?

我知道 git-svn 还没有准备好在 Windows 上进行实际工作,但我想从它造成的混乱中恢复过来。

4

3 回答 3

7

当前最佳答案(我不知道这在最初提出时是否存在):

git config core.ignorecase true

然后重做rebase。它将继续进行而不会出错——甚至可以正确处理文件名中的大小写更改。

这不是特定于 git-svn。它可以直接发生在“git rebase”中。

我希望这对下一个人有帮助......

于 2012-09-22T02:24:48.193 回答
1

在使用不区分大小写的 Mac 文件系统时,我遇到了与 Git(单独,甚至没有 git-svn)类似的问题,对更改文件名的大小写感到非常困惑。我没有找到解决方案来修复不区分大小写的文件系统上的存储库,而是在文件中创建了一个新的区分大小写的卷,将其.dmg挂载,然后在该卷上使用 Git。

您可能会发现一些 Git “管道”命令可能会有所帮助。例如,git checkout-index有一个-f标志来强制覆盖现有文件(也可以-a与该命令一起使用,否则它可能不会做任何事情)。管道命令通常比瓷器命令更强大(也更危险),但可以为您提供解决此问题所需的灵活性。

于 2009-09-08T08:20:05.423 回答
0

与您在 Windows 下解决此问题的方式相同。您必须重命名其中一个文件,然后才能恢复另一个文件。

于 2009-08-04T04:45:43.103 回答