2013-06-22 205 views
1

我們喜歡使用GIT,我們希望克服SVN中的逐步項目。GIT從一個多項目結構克隆一個SVN項目

我們SVN結構如下:

thrunk/ 
-------/project1 
-------/project2 
-------/project3..N 
branches 
---/devlopment 
-------/project1 
-------/project2 
-------/project3..N 
---/feature-2 
-------/project1 
-------/project2 
-------/project3..N 
tags 
---/v1.0 
-------/project1 
-------/project2 
-------/project3..N 

例如我們喜歡第一隻克隆項目2。我們怎樣才能做到這一點,而不會放棄整個分支機構的歷史等等?

回答

0

我認爲你最好的方法是使用git svn將整個歷史記錄導入到git中,然後使用standard methodsgit filter-branch將每個子目錄拆分到它自己的git存儲庫中。

+0

我已經搜索了'git filter-branch'並找到了示例。 首先,我用'git svn clone REPO -s -A。/ authors.txt'正常克隆ist,然後使用'git filter-branch --index-filter'git rm -rf --cached --ignore -unmatch/project1/project3「--prune-empty - --all'這是正確的 – marco

0

由於你的svn結構,保持你的分支和標籤歷史很棘手。可以使用svn2git工具。 在你的情況下,命令將是 svn2git/svn --trunk/trunk/project2 --tags/tags/--branches/branches/

+0

該命令知道我只需要所有分支和標籤中的project2,因爲我在'--trunk'參數中定義了它? – marco