2011-06-03 92 views
2

我玩過使用git-svn將Git回購鏡像反映爲SVN回購,但似乎無法將主更改推送到SVN回購中繼。有沒有辦法使用git-svn鏡像Git repo到SVN並讓Git標籤/分支變成SVN標籤/分支?

我到目前爲止所做的基本上是用標準佈局(項目名稱/主幹,項目名稱/標籤,項目名稱/分支)創建SVN回購,然後執行'git svn init - stdlayout http://server/svn/project-name'。這爲當前的Git倉庫設置了git-svn,然後我在Git倉庫中進行了任何更改,然後通過'git svn dcommit'將它們推送到SVN,但這似乎只適用於推送當前分支(通常是主人)到SVN項目的中繼文件夾。

我想要做的就是創建Git標籤,然後將其推送到SVN項目的標籤文件夾。我想爲所有分支做同樣的事情,但這不是必需的。我需要SVN鏡像將主鏡像映射到Git主分支,而標籤鏡像Gi​​t標籤。

注:SVN鏡將只讀

+0

我認爲github做了這樣的事情,但AFAIK他們這樣做的方式不是開源的。 – MatrixFrog 2011-06-05 20:01:58

回答

0

單獨git svn,你不能反映任何的Git操作早在SVN。只有在鏡像分支中完成的新提交可以安全地提交回SVN。

要獲得更完整的往返行程,您可以try git2svn重建SVN回購。
與此同時,您可以研究git svn workflow,即使標籤未明確提及。

2

你可以試試SubGit而不是git-svn。

SubGit爲Subversion和Git存儲庫提供讀寫鏡像功能。除此之外,它將Git分支和標籤轉換爲Subversion分支和標籤目錄。

有關更多詳細信息,請參閱SubGit documentationgit-svn comparison

SubGit是一個帶有一些免費選項的商業產品。一次性進口也是免費的。