Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mercurial(回转窑)存储库中嵌入github存储库-集成程度如何?_Mercurial_Github_Kiln - Fatal编程技术网

在mercurial(回转窑)存储库中嵌入github存储库-集成程度如何?

在mercurial(回转窑)存储库中嵌入github存储库-集成程度如何?,mercurial,github,kiln,Mercurial,Github,Kiln,总结问题: 是否可以在mercurial/Kill存储库中使用github托管的子存储库?如果可以,当父mercurial存储库由hg clone或hg commit命令操作时,这些子存储库是否会自动更新/克隆 详细问题: 我的问题回答得非常好,接下来,我的一些第三方代码位于我不久前从github上的开源项目下载的文件夹中。因为在那个阶段我并没有使用版本控制,那个些文件夹只是标准文件夹,现在作为子存储库合并到mercurial中 这显然是不理想的,首先,新版本的库可能有错误修复,或者我希望在将来

总结问题:

是否可以在mercurial/Kill存储库中使用github托管的子存储库?如果可以,当父mercurial存储库由
hg clone
hg commit
命令操作时,这些子存储库是否会自动更新/克隆

详细问题:

我的问题回答得非常好,接下来,我的一些第三方代码位于我不久前从github上的开源项目下载的文件夹中。因为在那个阶段我并没有使用版本控制,那个些文件夹只是标准文件夹,现在作为子存储库合并到mercurial中

这显然是不理想的,首先,新版本的库可能有错误修复,或者我希望在将来使用的新功能。我还可能需要在本地定制一些库

从阅读中我可以看出,mercurial有可能“了解”这些git服务器URL(和修订版),因此我可以让mercurial直接从其父repo克隆github托管的库

我说的对吗?当我克隆父(mercurial)repo时,这些文件将从github中提取,而不必使用git单独管理

还不清楚的是,如果我要这样做,并且它表明代码可能需要从github克隆存储库中进行定制,我需要使用git来管理本地文件的修订,还是mercurial通过代理来实现?例如,我将
hgcommit-S
mercurial会代表我调用git来处理这个问题吗

我说的对吗?当我克隆父(mercurial)repo时,这些文件将从github中提取,而不必使用git单独管理

是的,克隆包含子存储库的Mercurial存储库也会触发子存储库的克隆。真的。Mercurial注意到
.hgsub
文件,并为您发出所需的
hg clone
git clone
命令。它使用
.hgsubstate
中的信息准确地知道要签出的版本

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

foo = [git]https://github.com/user/repo.git
Mercurial只需发出相应的clone命令:

git clone https://github.com/user/repo.git foo
然后,您有责任稍后进入
foo
repo,并根据需要使用Git获取新提交。获取/拉取新提交后,可以进行顶级提交,以在
.hgsubstate
文件中记录子repo的新状态。使用
hg summary
查看子回购在这种意义上是否肮脏

[…]我需要使用git来管理本地文件的修订版,还是mercurial会通过代理来管理?如果我是hg提交的,mercurial会代表我调用git来处理这个问题吗

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

我说的对吗?当我克隆父(mercurial)repo时,这些文件将从github中提取,而不必使用git单独管理

是的,克隆包含子存储库的Mercurial存储库也会触发子存储库的克隆。真的。Mercurial注意到
.hgsub
文件,并为您发出所需的
hg clone
git clone
命令。它使用
.hgsubstate
中的信息准确地知道要签出的版本

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

foo = [git]https://github.com/user/repo.git
Mercurial只需发出相应的clone命令:

git clone https://github.com/user/repo.git foo
然后,您有责任稍后进入
foo
repo,并根据需要使用Git获取新提交。获取/拉取新提交后,可以进行顶级提交,以在
.hgsubstate
文件中记录子repo的新状态。使用
hg summary
查看子回购在这种意义上是否肮脏

[…]我需要使用git来管理本地文件的修订版,还是mercurial会通过代理来管理?如果我是hg提交的,mercurial会代表我调用git来处理这个问题吗

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