簡體   English   中英

將大型SVN存儲庫遷移到git

[英]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.

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