代码之家  ›  专栏  ›  技术社区  ›  toholio

如何从git svn中恢复,将不同大小写的dulplicate文件放入存储库中?

  •  6
  • toholio  · 技术社区  · 16 年前

    Gitsvn允许将一个重复的文件名添加到我们的Subversion存储库中,只是使用了不同的情况。

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

    另一个开发人员从存储库中删除了大小写不正确的版本。现在,当尝试执行git-svn-rebase时,我收到一条“无法分离head”消息,并抱怨相关文件名未被跟踪,需要被覆盖。删除该文件会使git svn抱怨该文件需要更新。

    是否是将存储库复制到具有区分大小写文件系统的计算机上的唯一解决方案?是否先执行REBASE,然后再将其移回?

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

    3 回复  |  直到 16 年前
        1
  •  6
  •   Bob Kerns    13 年前

    当前最佳答案(我不知道这是否存在于最初提出此问题的时候):

    git config core.ignorecase真

    然后重做钢筋。它将毫无错误地继续——甚至可以正确地处理文件名中的大小写更改。

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

    我希望这能帮助下一个人……

        2
  •  1
  •   Greg Hewgill    16 年前

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

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

        3
  •  0
  •   dj_segfault    16 年前

    同样地,你总是在Windows下解决这个问题。您必须重命名其中一个文件,然后才能还原另一个文件。

    推荐文章