簡體   English   中英

從SVN導入到Git時保留移動文件的歷史記錄

[英]Retain history of moved file when importing from SVN to Git

給Git專家的問題。 我面臨以下問題:我需要將具有歷史記錄的項目從SVN導入到Git。 我這樣做的方式:git svn clone“ http:// server / trunk / path / to / my / project ”。 可以很好地導入歷史記錄...直到將特定文件從另一個位置移至其當前位置為止。 當然,如果我使用較高的url,例如同時包含新舊位置,則可以使用舊父文件夾的歷史記錄來跟蹤它。 問題是我無法導入具有舊文件位置的項目,因為它不是我的所有權。 在僅導入具有文件新位置的項目時,是否可以在移動文件之前保留歷史記錄?

對於一次導入,您可以嘗試SubGit

該線程所示

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應該能夠加入所有三個位置的歷史記錄。

但這將假定“其他位置”在同一存儲庫中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM