从SVN导入Git时保留移动文件的历史记录

时间:2016-05-24 21:02:30

标签: git svn git-svn

向Git大师提问。我面临以下问题:我需要从SVN导入一个带有历史记录的Git项目。我的方式:git svn clone" http://server/trunk/path/to/my/project"。历史记录正在被导入...直到特定文件从另一个位置移动到其当前位置。当然,如果我使用更高的网址,例如包括旧位置和新位置,我可以使用旧父文件夹的历史记录来跟踪它。问题是我无法使用旧文件位置导入项目,因为它不属于我的所有权。有没有办法在导入文件之前保留历史记录,同时只导入包含文件新位置的项目?

1 个答案:

答案 0 :(得分:0)

对于一次导入,您可以give SubGit a try

this thread中所示:

  

SubGit仅导入/同步SVN设置页面上指定的那些分支和标记。

     

因此,为了保留trunk文件夹的所有先前位置的历史记录,请将所有这些位置包括在trunkbranches选项中,如下所示:

Subversion URL = http://host/svn/repo

Trunk = dir3:refs/heads/master

Branches = dir2:refs/heads/old_master; dir1:refs/heads/even_older_master; branches/*:refs/heads/*

...
  

使用这些指定的设置,SubGit应该能够加入所有三个位置的历史记录。

这将假定“其他位置”位于同一存储库中。

相关问题