[英]Migrating a large SVN repo to git
我有一個大型SVN倉庫(大約140GB),它包含許多項目,並且不遵循svn推薦的目錄結構。 從所有這些數據(它包括二進制文件,發布版本和依賴項),我真正關心的是在一條特定的路徑上,與其他一切相比,它實際上具有非常小的歷史。
到目前為止我在SVN-to-Git遷移中閱讀的所有文檔都要求我將整個SVN repo拉到Git,但這需要永遠,超時,OOM和崩潰。 有什么方法我只能為這個非常具體的文件夾提取歷史記錄嗎?
或者有沒有辦法可以將此文件夾的SVN歷史記錄單獨導出到新的SVN倉庫並從那里開始git遷移?
通過--no-minimize-url,EG,:
git svn clone <SVN_URL>/your/specific/folder --no-minimize-url --no-metadata folder
如果您可以訪問Subversion存儲庫(而不僅僅是工作副本),我建議使用svn2git,因為它會快得多。
您的規則文件將類似於
create repository specific-folder.git
end repository
# note: trailing slash is important
match /trunk/foo/bar/baz/specific-folder/
repository specific-folder.git
branch master
end match
# ignore everything else
match /
end match
那你的命令就是
svn-all-fast-export --identity-map=my-users --rules=specific-folder.rules \
--stats --add-metadata /full/path/to/subversion/repo
請注意,您的新git存儲庫將包含specific-folder
的內容 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.