目前我正在嘗試獲取正在運行的遠程Subversion存儲庫的克隆。遠程存儲庫僅在非常慢的鏈接上可用,所以我使用svnsync
創建了本地Subversion存儲庫。近三十個小時後,我現在擁有Subversion版本庫的本地副本。如何使用hgsvn從本地(file:///)SVN倉庫進行克隆?
我該如何將其克隆到新的mercurial存儲庫?問題是,無論是使用file:///
以下形式出現的工作:
$ hg clone svn+file:///home/user/repo repo.hg
abort: repository svn+file:///home/user/repo not found!
$ hg clone file+svn:///home/user/repo repo.hg
abort: repository file+svn:///home/user/repo not found!
$ hg clone file:///home/user/repo repo.hg
abort: repository /home/user/repo not found!
相反svn info file:///home/user/repo
不給我的信息,並證明有在那個地方適當的顛覆庫。 svn://
顯然沒有意義,因爲我沒有在本地運行服務器。
我也試過:
$ hgimportsvn file:///home/user/repo repo.hg
SVN branch isn't a copy
Finished! You can now pull all SVN history with 'hgpullsvn'.
但hgpullsvn
只成功了上半場打的修改,然後出現了錯誤:
Interrupted, please wait for cleanup!
External program failed (return code 1): hg '--encoding' 'utf-8' 'remove' '-A' 'branches/Company/CVSROOT'
branches/Company/CVSROOT: No such file or directory
(該CVSROOT
從以前的轉換莖到顛覆從CVS,顯然,這是在我的時間之前。)
是否hgsvn
不明白file:///
協議說明符,即使我試圖強制它與svn+file:///
?
注:之前我曾嘗試通過hg
和hgsvn
進行克隆,但最終在通過hgsvn
進行同步之後經過一段時間後出現錯誤。因爲克隆整個歷史需要很長時間,所以我通過hgsvn
與本地Subversion版本庫副本一起進行克隆,就像我以前在遠程版本中那樣。
等一下,'hgsvn'和'hgsubversion'有區別。哇。直到現在,這個事實完全避開了我。 +1爲現在的答案。我將不得不首先用替代擴展來測試它。是的,我知道'svn +'是用來消除歧義的,儘管這對本地回購也是有意義的。 – 0xC0000022L 2013-03-16 14:24:54
作品,謝謝。我只是沒有意識到這是兩個不同的項目。 – 0xC0000022L 2013-03-18 11:19:27