2010-08-19 72 views
4

我正在使用Mercurial與Subversion存儲庫進行通信,並且存儲庫當前正在使用SVN外部存儲來引入另一個存儲庫。在SVN Externals上使用Mercurial hgsubversion擴展

hgsubversion很適合與存儲庫進行通信,但它似乎不適用於SVN Externals。有沒有一種方法來配置它來處理這個問題?

編輯:部分解決

SVN的外部對象可以拉下來就好了。在您的存儲庫中,添加一個名爲.hgsvnexternals的新文件(如果Windows在創建時抱怨沒有文件名,請嘗試運行copy .hgignore .hgsvnexternals)。它是挑剔的空白,並且應包含文本類似於下面的示例:

[.] 
MyExternalProject svn://some.url/svn/MyExternalProject/trunk 

有在該行的開頭空間,名稱和URL之間。如果間距不對,則無效。在將其添加到文件後,返回到命令行並運行:

hg svn updateexternals 

然後它應該從Subversion獲取外部數據。新問題是,hg status現在將在其前面顯示?的所有「新」文件。

問:hg add他們的存儲庫,或將外部文件添加到.hgignore

嘗試任一選項都會導致相同的問題。我不能hg push我的更改克隆的主。

+0

什麼是SVN擴展?我從來沒有聽說過它...... – 2010-08-19 15:37:07

+0

@michael對不起,我的術語錯了:-)外部! – 2010-08-19 15:43:18

+0

您可能對[此問題感興趣](http://stackoverflow.com/questions/2570289/making-mercurial-subrepositories-behave-like-subversion-externals) – 2010-08-24 15:54:22

回答

2

它可以工作,但只適用於標準佈局(即trunk/branches/tags)克隆。我們需要在標準版面上修正一些錯誤,然後才能正常工作。

在接下來的幾天裏尋找一些新的文檔(或者查看修補程序線程的hgsubversion maillist archives)。