簡體   English   中英

使用svn2git SVN到GIT遷移失敗

[英]SVN to GIT migration failed using svn2git

我正在嘗試使用svn2git將存儲庫從SVN遷移到GIT。 它是一個開源項目,公共SVN存儲庫Url是: http//svn.verinice.org/svnroot/ 隨意測試遷移...

SVN存儲庫結構是:

  • 分支機構
  • TAGS
  • 樹干

我使用以下命令來克隆此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 -agit 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM