2016-04-25 63 views
0

我使用的是svn2git,但我也可以使用git svn。我在SVN倉庫中有以下場景。將SVN分支子文件夾遷移到Git

trunk 
brances 
    branchesA 
     branchA1 
     branchA2 
     [...] 
    branchesB 
     branchB1 
     branchB2 
     [...] 
    branchesX 
     [...] 

遷移完成後,在Git的一側有分支機構branchesAbranchesB等..已與正確SVN分支文件夾內。例如在Git倉庫:

master 
branchesA 
branchesB 
branchesX 
[...] 

如果$git checkout branchesA你會看到所有的分支狀的子文件夾($ls):

branchA1 
branchA2 
branchA3 
[...] 

有沒有一種方法或工具或東西,可能已經解決這個問題,一旦我遷移它,或者以某種方式將多個文件夾傳遞給--branches

+0

有PR可以解決這個問題,但尚未獲得批准! https://github.com/nirvdrum/svn2git/pull/65 –

回答

1

不是使用git svn進行一次性轉換。如果您需要不斷同步並重新提交給SVN,但是一次性轉換次優,則需要仔細考慮。

有pleny工具叫svn2git,但從你的問題我猜你沒有使用從https://github.com/svn-all-fast-export/svn2git KDE之一。我強烈建議使用svn2git工具。這是我所知道的最好的,並且它對你的規則文件可以做的非常靈活。

您可以輕鬆地將其配置爲您的佈局以獲得您想要的結果。你甚至可以保持你的分支在「子文件夾」中,就像你目前在SVN中一樣。 Git中的分支將是branchesA/branchA1

如果您不是100%關於您的存儲庫的歷史記錄,svneverever from http://blog.hartwork.org/?p=763是一個很好的工具,用於調查SVN存儲庫在將其遷移到Git時的歷史記錄。

+0

我**不是**使用'git svn',我使用'svn2git'。我檢查了鏈接,並會嘗試一下。謝謝... –

+0

只是想確保你沒有真正考慮它,因爲你寫你考慮它。是的,你使用'svn2git',但不是我提到的那個,是嗎? – Vampire

+0

不幸的是,我正在學習如何使用KDE。看起來更容易設置分支佈局,我只需要學習如何做到這一點... –