[英]SVN to GIT migration failed using svn2git
我正在嘗試使用svn2git將存儲庫從SVN遷移到GIT。 它是一個開源項目,公共SVN存儲庫Url是: http : //svn.verinice.org/svnroot/ 。 隨意測試遷移...
SVN存儲庫結構是:
我使用以下命令來克隆此Repo:
svn2git http://svn.verinice.org/svnroot
--trunk TRUNK
--branches BRANCHES
--tags TAGS
但是此命令僅遷移一個分支而根本不遷移任何標記。 我使用這些命令來檢查結果:
[user@forge git-repo]# git branch -a
* master
springy
remotes/springy
[user@forge git-repo]# git tag -l
[user@forge git-repo]#
如何遷移所有分支和標簽? 謝謝你的幫助!
更新 :
使用參數--authors authors-file.txt並將名稱和電子郵件地址添加到git配置svn2git后工作正常:
git config --global user.name "your name"
git config --global user.email "your@email.com"
您必須在authors-file.txt中為每個 SVN用戶添加一行:
svn-user-name = Full Name <email@address.com>
git branch -a和git tag -l現在返回所有分支和標簽。
我沒有使用svn2git的經驗,但你可以嘗試使用git svn clone
來切換到git。 請注意,這將花費很長時間。 有關更多信息,請參閱git help svn
。
請注意,這不會在git中創建正確的標記,很可能是由於svn2git FAQ中討論的git和svn標記的不同。 相反,該工具將創建標記分支。 如果你想將這些成適當的標簽(和因為我假設你會不會在所有要回SVN,這應該不會造成任何傷害),有一個討論, 在這里了解如何編寫一個腳本來執行只是。
重要的是要知道所有這些工具都是基於git的本機SVN支持git-svn構建的。 因此,可以直接使用git-svn進行克隆,獲取更改集等等,但最好有一個單獨的腳本/工具來幫助我們在遷移過程中完成所有操作,因此需要使用這些工具。
我使用托管在https://github.com/nirvdrum/svn2git上的svn2git包裝器腳本來進行git遷移的顛覆,這肯定有幫助,特別是當我們想要定期從我們的subversion存儲庫中提取更改集時,因為我們沒有完全關閉subversion repo原因很明顯。 您可以瀏覽ruby包裝器腳本migration.rb以了解更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.