我搜索了相關的問題,但找不到符合我的具體情況的任何內容:我有一些來自SVN服務器的舊版存儲庫歸檔文件,這些歸檔文件在多年前就被取消了。它們是服務器上原始存儲庫結構的tarball。我想要做的就是將它們轉換爲git倉庫,作爲未來工作/恢復項目的基礎。我已經閱讀了幾個有關轉換過程的教程,我想我可以找出作者轉換,分支映射等,但他們都假設你有一個SVN服務器和一個存儲庫的URL。我是否需要安裝和設置SVN服務器才能執行此轉換,或者有什麼方法可以指向git clone
或svn2git
(或其他工具)處於我擁有的回購轉儲?轉換本地svn回購轉儲爲git
回答
,以導入您的達姆本地安裝的顛覆p,然後用git-svn包。
您可以使用git svn clone file:///path/to/svn/repo /path/to/empty/dir
我已經發現這個實驗昨晚,並得到它的工作,B這是正確的答案。感謝和+ 1 /接受!歡迎來到SO。 :-) –
非常感謝你! – Asenar
- 所有SVN(?) - > git的轉換器需要現場Subversion版本庫,
- 庫的樹副本不是轉儲,這是通常的文件級備份。
您有:
- 安裝和配置任何Subversion服務器(如果您的轉換器無法處理
file:///
協議SVN,否則不需要的話 - 只要解壓縮包(S),並與SVN檢查回購客戶端) - 閱讀混帳svn的
- 使用git - svn的
檢索所有的Subversion提交者列表:使用
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt
克隆版本庫的git - svn的:
git svn clone [SVN repo URL] --no-metadata -A authors-transform.txt --stdlayout ~/temp
轉換的svn:忽略屬性的.gitignore:
cd ~/temp
git svn show-ignore > .gitignore
git add .gitignore
git commit -m 'Convert svn:ignore properties to .gitignore.'
推資源庫裸git倉庫:
git init --bare ~/new-bare.git
cd ~/new-bare.git
git symbolic-ref HEAD refs/heads/trunk
然後推臨時存儲庫,以新的純倉庫。
cd ~/temp
git remote add bare ~/new-bare.git
git config remote.bare.push 'refs/remotes/*:refs/heads/*'
git push bare
重命名「主幹」分支「大師」:
cd ~/new-bare.git
git branch -m trunk master
清理分支和標籤:
cd ~/new-bare.git
git for-each-ref --format='%(refname)' refs/heads/tags |
cut -d/-f 4 |
while read ref
do
git tag "$ref" "refs/heads/tags/$ref";
git branch -D "tags/$ref";
done
以轉儲文件在您的西弗斯:
svnadmin dump "repopath or url" > import.bkp git svn clone "back"
轉到克隆路徑,然後打開混帳bash和 運行這些命令:
git svn show-ignore > .gitignore git add .gitignore git commit -m "with message" git check in "git url"
- 1. 轉換本地svn回購給git
- 2. 轉換SVN回購與git
- 3. 我如何轉換SVN回購的本地克隆與git
- 4. 將Bazaar回購轉換爲SVN
- 5. 從已轉換爲Git的SVN回購下載修訂版
- 6. 使用reposurgeon將svn回購轉換爲git
- 7. 是否可以將SVN分支轉換爲新的GIT回購?
- 8. 將git回購轉換爲子模塊
- 9. 使用svn2git轉換本地龜SVN回購
- 10. 將現有SVN工作副本轉換爲git存儲庫
- 11. 如何將下載的回購轉換爲git回購?
- 12. 使用Git-LFS將SVN轉換爲Git
- 13. 將git-svn更改爲SVN回購
- 14. svn回購轉移到git。我正在使用git
- 15. 防止使用git-svn將本地.gitignore推送到svn回購
- 16. 用本地替換遠程Git回購
- 17. 將兩個svn倉庫轉換爲git
- 18. 如何驗證svn轉換爲git?
- 19. 將SVN簽出轉換爲使用git(git-svn)
- 20. 使用git svn將svn轉換爲git克隆
- 21. 將本地git文件夾轉換爲遠程存儲器
- 22. 轉換凌亂的svn存儲庫爲git
- 23. 使用SubGit將Git存儲庫轉換爲SVN
- 24. 本地git回購創建
- 25. Git和Dropbox - 本地回購
- 26. 將SCCS存儲庫轉換爲SVN
- 27. 使用子模塊將'CVS時代'回購轉換爲git回購
- 28. 怎樣的汞回購轉換爲在OS一個git回購X
- 29. 發佈「git svn」回購
- 30. 用本地版本丟失的替換遠程git回購.git
VisualSVN服務器的標準版免費,所以有計劃B. – Dialecticus
我認爲安裝原始的SVN服務器會比這更容易.. –