在mercurial(回转窑)存储库中嵌入github存储库-集成程度如何?
总结问题: 是否可以在mercurial/Kill存储库中使用github托管的子存储库?如果可以,当父mercurial存储库由在mercurial(回转窑)存储库中嵌入github存储库-集成程度如何?,mercurial,github,kiln,Mercurial,Github,Kiln,总结问题: 是否可以在mercurial/Kill存储库中使用github托管的子存储库?如果可以,当父mercurial存储库由hg clone或hg commit命令操作时,这些子存储库是否会自动更新/克隆 详细问题: 我的问题回答得非常好,接下来,我的一些第三方代码位于我不久前从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,以便您的服务器上始终有一组一致的更改