不需要。您最好的選擇是在專用的git存儲庫中設置svn存儲庫的鏡像。
git svn clone -s http://subversion.example.com/ mysvnclone
cd mysvnclone
git remote add origin [email protected]:project.git
git push origin master
然後你就可以作爲子模塊添加git倉庫到原始項目
cd /path/to/gitproject
git submodule add git://example.com/project.git -- svn-project
git add svn-project
git commit -m "Add submodule"
有SVN之間的一個概念上的差異:外部組件和git子模塊,如果你從接近這一點,可能你絆倒顛覆的觀點。 git子模塊與您提供的修訂相掛鉤。如果「上游」更改,則必須更新子模塊的參考。
所以,當我們重新同步與上游顛覆:
cd /path/to/mysvnclone
git svn rebase
git push
... Git項目將仍然使用我們之前犯下的原始版本。要更新的svn HEAD,你將不得不使用
cd /path/to/gitproject/svn-project
git checkout master
git pull
cd ..
git add svn-project
git commit -m"Update submodule"
你試過後它來這裏之前這些代碼?子模塊在git svn中無法正常工作。 – xhan 2010-12-22 09:22:32
@xhan是的,我不主張在同一個存儲庫中混合git-svn和子模塊。使用git-svn的克隆只是創建svn存儲庫的本地git克隆的橋樑。 – richq 2010-12-22 09:58:25
對不起。我還沒有找到你使用兩個文件夾作爲子模塊。好戲。 – xhan 2010-12-22 13:43:54