遷移我執行的Git服務器上的下面的命令Subversion庫遷移到Git倉庫:SVN到GIT導致GIT的規模龐大回購
mkdir xyz.git
git init --bare xyz.git
svn git clone http://x.y.x.y/svn/CLF xyz.git
du -sh xyz.git
做的Git回購該尺寸後顯示了Subversion回購的規模的兩倍。 我是否錯誤地運行遷移?
遷移我執行的Git服務器上的下面的命令Subversion庫遷移到Git倉庫:SVN到GIT導致GIT的規模龐大回購
mkdir xyz.git
git init --bare xyz.git
svn git clone http://x.y.x.y/svn/CLF xyz.git
du -sh xyz.git
做的Git回購該尺寸後顯示了Subversion回購的規模的兩倍。 我是否錯誤地運行遷移?
有一個項目可以幫助您將svn轉換爲git,https://github.com/nirvdrum/svn2git。這使用git-svn。但因爲它聽起來像你已經進行了克隆(這可能需要一段時間)也許看一看導向這裏只是使用Git svn的克隆不完善:
http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git
但在回答你的問題,git倉庫的大小可能會有所不同,具體取決於它們是否打包。格式寬鬆允許更快速地訪問回購,打包格式如您所料,更小。你可以得到的git通過執行收拾倉庫:
git gc --prune=now --aggressive
git repack
這也截斷一種叫做跟蹤您的編輯如何隨時間變化的引用日誌設施。在處理代碼時通常使用這種方式,而不是以這種方式執行導出。
您應該發現存儲庫完全打包時,它比完整的subversion存儲庫小。
我安裝svn2git和我的SVN倉庫不遵循standrard文件夾結構,所以我用下面的命令 svn2git -v http://192.168.4.201/svn/CLF --rootistrunk 我得到了下面的錯誤 錯誤:pathspec'master'與git已知的任何文件都不匹配。 命令失敗: 2>&1 git checkout -f master 請協助。 – user2703105
意味着它沒有創建主幹。我沒有遇到這個問題,但其他人有:https://github.com/nirvdrum/svn2git/issues/41嘗試快速測試,看看我能否重現。 – andygavin
嘗試提供'-v'標誌來查看命令的順序。它應該在執行時輸出git-svn init命令。 – andygavin
Git喜歡在假設存儲便宜並且值得爲快速性能進行交易的前提下運行。大一點並不一定意味着任何錯誤。 – vcsjones
現在可能是運行BFG清理歷史中不需要的對象的好時機.http://rtyley.github.io/bfg-repo-cleaner/ –
你可以顯示'git count-objects - v'? –