2010-08-19 63 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)。