SVN-to-git:迁移到git时,如何保存SVN repo中移动文件的历史记录?

时间:2014-05-30 20:49:01

标签: git svn migration git-svn

我的情况类似于以下情况:

  • SVN修订版1
    • FolderA / FileA.ext

('svn move'用于在新文件夹下移动文件夹)

  • SVN第2版
    • NewParent / FolderA / FileA.ext

使用SVN,我可以验证两个版本的历史记录。

当我使用'git svn clone'时,目标文件夹包含FolderA / FileA.ext和NewParent / FolderA / FileA.ext,并且它们之间没有历史链接。

如何保留历史记录链接,最终只能使用较新的文件夹结构?我只需要迁移一次(不需要链接到SVN repo)。

1 个答案:

答案 0 :(得分:2)

首先,选中this answerhere,检查历史记录是否确实丢失了:

git log --follow -- NewParent/FolderA/FileA.ext
# or
git log -M --summary -- NewParent/FolderA/FileA.ext 

如果链接似乎丢失了,您可以尝试使用subgit转换您的svn repo,这会更有效地保留新git仓库中的所有svn信息(如its author explains here)。