繁体   English   中英

将github存储库嵌入水银(窑)存储库中-它的集成程度如何?

[英]Embedding a github repository inside a mercurial (kiln) repository - how integrated is it?

总结的问题:

github托管的子存储库是否可以在汞/窑存储库中使用,如果可以,当通过hg clonehg commit命令对父汞存储库进行操作时,它们是否可以自动更新/克隆?

详细问题:

从我的问题在这里得到了很好的回答之后,我的一些第三方代码在我不久前从github上的开源工作下载的文件夹中。 因为在那个阶段我没有使用版本控制,所以那些文件夹中只有标准文件夹,而现在这些标准文件夹已被合并为Mercurial的子存储库。

这显然是不理想的,因为一方面,新版本的库可能已修复了错误,或者我希望将来使用新功能。 我可能还需要在本地自定义一些库。

通过阅读此链接 ,我可以了解到有关那些git服务器url(和修订版)的信息,因此我可以直接从其父存储库中克隆github托管的库。

我的意思是,当我克隆父(水银)存储库时,这些文件将从github上拉出,而不必使用git单独进行管理?

还不清楚的是,如果我这样做的话,可能会发现代码可能需要从该github克隆的存储库中进行自定义,我是否需要使用git来管理本地文件的修订,还是由Merurial做?通过代理? 例如id我要hg commit -S mercurial代表我调用git来处理吗?

我的意思是,当我克隆父(水银)存储库时,这些文件将从github上拉出,而不必使用git单独进行管理?

是的,包含子存储库的Mercurial存储库的克隆也会触发该子存储库的克隆。 它确实发生在更新上 Mercurial会注意到.hgsub文件,并为您发出所需的hg clonegit clone命令。 它使用.hgsubstate的信息确切了解要签出的修订版本。

子存储库可以托管在任何地方。 对于声明为的Git子存储库

foo = [git]https://github.com/user/repo.git

Mercurial只会发出相应的克隆命令:

git clone https://github.com/user/repo.git foo

然后,您有责任稍后进入foo库并根据需要使用Git提取新的提交。 提取/拉出新提交后,可以进行顶层提交,以在.hgsubstate文件中记录子存储库的新状态。 使用hg summary可以查看子仓库在这种意义上是否脏。

[...]我需要使用git来管理本地文件的修订,还是由mercurial通过代理来完成? 例如id我要hg commit -S mercurial代表我调用git来处理吗?

当您编辑文件并进行顶级hg commit ,Mercurial将确保首先提交subrepo(如果使用hg commit -Sui.commitsubrepos=True )。 如果您进行顶级推送,那么Mercurial将始终首先推送子仓库,以便您在服务器上始终具有一组一致的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM