Git并没有明确跟踪复制或移动的文件,但可以通过例如git log --follow
来检测它们。当我在SVN Repo上使用Git并使用git svn dcommit
推送我的更改时,SVN会将这些文件识别为复制文件吗?
git-svn
将在您执行git svn dcommit
时检测到链接,从而正确引用文件历史记录。如果您所做的唯一操作是移动文件,则其将按预期工作,并且SVN服务器将在其历史记录中将文件A链接到文件B。
然而,如果您修改文件并在将它们推送到SVN之前压缩两个提交,则git可能无法正确猜测文件是否已重命名,您将得到一个已删除的文件和一个新创建的文件,在SVN存储库中没有明显的关系。
您的意思是要在SVN日志中获得以下类似的条目:
A /xxxx/xyz (from /xxxx/zzzz.xxx:5555)
是的,你可以得到这样的东西。