2012-10-09 149 views
0

嗨,我無法從我的SVN倉庫使用「混帳SVN」工具到Git ..遷移問題到Git

我對着下面的錯誤

$ git svn fetch 
Index mismatch: a93a7f4289f88b70ba85c8f6210e3c64b97447d5 != 20979407f93a6908d2dadee058774021b68f80af 
rereading 44999ef977dddeed551f4822d25763b1c38a7307 
     M  parser/service/src/main/java/service/Add.java 
     M  parser/service/src/main/java/service/DependencyUtil.java 
     M  parser/service/src/main/java/service/Log.java 
     M  parser/service/src/main/java/service/ParseTableFilter.java 
svn: In file 'subversion/libsvn_delta/text_delta.c' line 657: assertion failed (window->sview_len == 0 || (window->sview_offset >= ab->sbuf_offset && (window->sview_offset + window->sview_len >= ab->sbuf_offset + ab->sbuf_len))) 
error: git-svn died of signal 6 

我如何解決這個?任何幫助表示讚賞!

+0

斷言意味着git本身存在錯誤。我認爲你最好的選擇是通過http://git-scm.com/ – centic

+0

報告一個bug你有本地訪問Subversion版本庫的方式嗎,即通過file:// protocol? – vadishev

+0

@radioversum,是的,我有權限訪問。 – Sriharsha

回答

1

你可以嘗試SubGit導入SVN倉庫到Git的。而且,這個工具允許Subversion和Git使用同一個存儲庫。

以下是一些基本的說明如何設置SubGit:

$ subgit configure SVN_REPOS 
# Adjust SVN_REPOS/conf/subgit.conf to specify your branches and tags 
# Adjust SVN_REPOS/conf/authors.txt to specify git & svn authors mapping 
$ subgit install SVN_REPOS 
... 
# INSTALLATION SUCCESSFUL 

安裝之後,你可以在這裏找到SVN_REPOS/git的進口Git倉庫;因爲此時SubGit會自動同步每個svn commitgit push上的SVN和Git存儲庫。如果你不需要SubGit的這面鏡子的功能,只需運行命令:

$ subgit uninstall --purge SVN_REPOS 

此命令將刪除所有SubGit相關文件,因此您已經導入Git倉庫這是沒有更多的使用SVN同步。

尋找在SubGit documentationgit-svn比較頁面瞭解詳情。

SubGit是一個商業產品,但它是免費的一次性轉換。如果你對SubGit的鏡像模式感興趣,它對開源,學術和小型項目(最多10個提交者)是免費的。

聲明:我是SubGit開發人員之一。

+0

謝謝@radioversum! – Sriharsha