我有一个Mercurial主存储库,其中包含一个子存储库,如下所示:
Main
.hg
.hgsub
.hgsubstate
<some_regular_files_and_subdirs>
Sub
.hg
<some_regular_files_and_subdirs>
我希望仅标记Sub
,同时保持Main/.hgsubstate
最新(即指向标记过程产生的Sub
变更集)。
我不想标记主存储库
如果没有在Sub
内标记并且做一些魔术让Main/.hgsubstate
更新,这是否可行?
答案 0 :(得分:1)
更新子参数时,您始终需要在主仓库上执行提交才能开始使用该子报表修订。因此,您无法从子实体本身完全按照自己的意愿执行操作,您必须输入主仓库并在那里执行单个命令。
从命令行:
(navigate to subrepo directory)
> hg tag <tagName>
(navigate to main repo directory)
> hg commit -m "updating to subrepo tag <tagName>"
创建subrepo标记并将子标准更新为该标记后,从顶层执行提交(即:Main
)应更新.hgsubstate
并且不要求您标记{ {1}}回购。事实上,更改任何subrepo的修订版应该会触发.hgsubstate文件的更改,该文件可以在没有标记的主仓库中提交。
答案 1 :(得分:0)
如下所示?
hg -R Sub tag tagname
hg -R Sub commit -m "Comitting tag"