[英]From svn to git, with a moved trunk
我正在嘗試將我的svn存儲庫切換為git。 它是一個舊的存儲庫,之前的維護者之一為每個新版本移動了主干。 例如,以前的存儲庫位於:
現在,我們目前的主干是:
當我簽出SVN第二個存儲庫時,我有完整的歷史記錄,包括復制之前的歷史記錄。 但是,當我git-svn第二個存儲庫時,我沒有舊的歷史記錄(來自release_1,...)。 第一次提交是release_{N-1}
到release_N/trunk
的副本。
這是我嘗試過的:
由於這不起作用,我嘗試了別的東西。 我們假設'復制提交'是K,我嘗試過:
這次git-svn找不到任何提交。
你知道是否有一個神奇的技巧來擁有完整的歷史?
這就是我對這個問題的理解:
您的歷史分布在幾個svn分支(這些分支恰好都稱為主干)。 移動到git時,您會想要所有這些歷史記錄。
我認為以下內容將解決您的問題:
git svn init my_project.git
git config svn-remote.svn.url svn+ssh://svn.mycompany.com/project
git config svn-remote.svn.fetch release_N/trunk:refs/remotes/trunk
git config svn-remote.svn.branches */trunk:refs/remotes/*
git config svn.authorsfile my-authors-file
git svn fetch
這將創建release_N分支作為trunk,其余版本作為git存儲庫中的不同分支。
據我所知,你不能讓一個git svn分支指向多個url,這是我認為你試圖做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.