[英]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-gitsvn ( rsync
+ git svn
+后處理)。
附注。 如果你要分叉我的一個或兩個結果,請在之后 ping 我,我將刪除我的臨時存儲庫。 否則我很快就會刪除。
您可以使用 -r 在您看到它能夠很好地拉取(或者說之前的 100 個修訂版)的修訂版上恢復該過程
git svn fetch -r some-revision:HEAD
這樣你就不會從頭開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.