toh*_*lio 9 svn git newline git-svn eol
我有一个托管在Linux上的subversion存储库,但只能通过Windows客户端访问,因为它是大型Windows应用程序的源代码.
如果我可以使用git-svn(由msysgit提供)在这个存储库上工作,那将是非常棒的.
我有一段时间试图让存储库没有陷入窗口样式行结尾的堵塞.
在svn clone检查git存储库后:
core.autocrlf = true显示对实际LF在存储库中使用的任何文件的修改.core.autocrlf = input显示对实际LF在存储库中使用的任何文件的修改.core.autocrlf = false 显示对一切的修改.这里最好的选择是什么?我应该使用core.autocrlf = true,并提交LF给CRLF受影响的文件的变化?
我非常接近于把我的Subversion工作副本放到git存储库中.这将是一个糟糕的解决方案,但至少会允许本地分支和存储.将文件添加到subversion后,继续添加文件显然会变得非常痛苦.
编辑:对于那些有兴趣的人.git-svn如果你在Windows上是一种皇家的痛苦.hasen j的答案可能是正确的,但我不能在不吸引团队中其他开发人员的愤怒的情况下遵循他的建议.
我基本上放弃了这个问题,因为它不会导致合理的结果.希望下一个Google Summer of Code能够吸引那些希望获得"Windows上适当的git-svn支持"项目的人.见http://git.or.cz/gitwiki/SoC2009Ideas#Propergit-svnsupportonWindows
帮自己一个忙,不要乱用行尾,保持原样.设置autocrlf为false.
Windows中任何一个不错的文本编辑器都应该能够处理unix样式的行结尾.
core.autocrlf = false显示对所有内容的修改.
我认为,如果你只是在事后这样做,它对你没有任何好处.
您必须删除此存储库,将autocrlf设置为false,然后执行克隆.
由于我的其他答案不太适合您,因此有另一种方法来处理这种情况:
同时使用 svn 和 git;在同一工作目录中。
您将主要使用 git、从上游存储库中提取、进行本地更改、本地分支等;您在本地 git 项目上工作时通常所做的一切。
然后,当您想要提交到中央 svn 存储库时,请使用 svn 客户端。
我有一些这样做的经验,只是我不会这样做svn commit,而是创建一个补丁并svn diff提交它(因为我无论如何都没有提交访问权限)。