是否有一種首選方式來獲取git存儲庫並將其作爲新的(任意深度嵌套的)目錄導入到現有的Subversion存儲庫中,同時保持提交歷史?在維護歷史的同時將git項目導入Subversion版本庫的子目錄
舉例來說,如果我有一個顛覆回購具有以下(簡體)目錄結構:
backends
backends/A
backends/B
,我一直工作在一個git回購新的後端C,我現在想添加git repo的內容以svn回購爲backends/C
。
我發現的大部分信息似乎都集中在導入頂層(通常是新創建的或其他空的svn回購)。
我目前的做法是使用下面的代碼片段從git的過濾分行手冊頁向下推動混帳回購協議的現有頂層到backends/C
git filter-branch --index-filter \
'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
git update-index --index-info &&
mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD
然後使用git的svn和git底墊將文件導入svn回購。大多數人會這樣做,還是有一種「更好」的方式?
在svn subdir中指向git-svn效果很好,謝謝。 – 2011-02-02 05:37:42