簡體   English   中英

使用“git svn clone”從 sourceforge 克隆一個大型 svn 存儲庫

[英]Cloning a large svn repository from sourceforge with "git svn clone"

我正在嘗試使用git svn clone從 sourceforge 克隆一個大型 subversion 存儲庫 克隆過程會定期卡住:SF 只是停止發送數據。 最終它會超時,但需要永遠 在此之后,它是一個循環:

  • 運行git svn fetch
  • 等待它超時
  • 根據需要重復

查看git svn手冊頁,似乎沒有明顯的方法來設置 i/o 操作的超時時間。

有什么辦法可以讓這個過程更有效率嗎?

讓我給你一些關於加快速度的建議。 我剛剛自己完成了它們的運行,所以我確定它們可以工作。 主要技巧是將 Subversion 存儲庫復制到本地文件系統,然后運行git svn

首先, SourceForge 允許使用rsync備份存儲庫(請參閱最底部的最后一個命令)。 所以開始

rsync -ahPv svn.code.sf.net::p/vice-emu/code vice-emu.svn

rsync訪問不可用的一般情況下,您可以使用svnrdump轉儲存儲庫:

svnrdump dump --non-interactive https://svn.code.sf.net/p/vice-emu/code > vice-emu.svndump

然后將轉儲加載到本地存儲庫中:

svnadmin create vice-emu.svn
svnadmin load vice-emu.svn < vice-emu.svndump

無論哪種方式,您都可以在本地存儲庫上使用git svn

git svn clone file://`pwd`/vice-emu.svn vice-emu

最后還有一個技巧: 將導入卸載到 Github

我的結果是: https://github.com/phdru/vice-emu-ghi (Github的進口商)和https://github.com/phdru/vice-emu-gitsvnrsync + git svn +后處理)。

附注。 如果你要分叉我的一個或兩個結果,請在之后 ping 我,我將刪除我的臨時存儲庫。 否則我很快就會刪除。

您可以使用 -r 在您看到它能夠很好地拉取(或者說之前的 100 個修訂版)的修訂版上恢復該過程

git svn fetch -r some-revision:HEAD

這樣你就不會從頭開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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