我的工作有一個絕對龐大和古老的代碼庫,很快就變得難以將多個項目合併在一起。我試圖將存儲庫(包括它的整個歷史記錄)變成git來解決其中的一些問題。git-svn克隆失敗,perl.exe失敗斷言
但是,嘗試指定命令以確保整個歷史記錄被拉出時,git svn會導致很多問題。
svn存儲庫和執行提取的客戶機都是基於Windows 7的(svn存儲庫位於Server 2008計算機上,但實際上是相同的核心)。
這是到目前爲止,我已經試過了命令:
git svn clone "https://path/to/svn/" "local/repository/"
問題:這檢索功能庫,但是僅會大致與庫相關聯的,歷史的1/4,由於一些重大的升級大致一年前沒人能給我太多細節。我不知道爲什麼會出現這種突破。令人困惑的是,作爲存儲庫一部分的一些分支與主線幹線沒有任何共同的提交。這非常嚴重地影響了git帶來的合併優勢。
git svn clone -T "https://path/to/svn/trunk/" "https://path/to/svn/" "local/repository"
問題:沒有分支參數,沒有正確檢索分支。
git svn clone --b="https://path/to/svn/branches" -T "https://path/to/svn/trunk/" "https://path/to/svn/" "local/repository"
問題:以下錯誤:
subversion/libsvn_subr/path.c:115: failed assertion `is_canonical(component, clen)`.
0 [sig] perl.exe" 4432 open_stackdumpfile: Dumping stack trace to perl.exe.stackdump
堆棧跟蹤是提供沒有有用的信息的指針的位置的不可理解的集合。舉例:
Frame Function Args
028F668 74F21194 (000000EC, 0000EA60, 00000000, 0028F6BC)
另外:我已經嘗試了小的語義修復,比如不使用/使用引號,使用--branches而不是-b,使用或不使用等號,在末尾使用或不使用試驗性斜槓URL等。 – tmesser