编写在repo根文件夹中运行的脚本并更新所有子库

时间:2018-05-15 08:58:34

标签: mercurial

我有以下脚本完美运行,但依赖于onsub扩展来更新主回购和所有子目录:

hg pull --rebase
hg onsub -t hg "hg pull --update"
hg onsub -t hg "hg update"

自2017年以来,onsub不再可用:https://www.mercurial-scm.org/wiki/OnsubExtension

如果不对subrepos列表进行硬编码,如何才能执行相同的任务?

1 个答案:

答案 0 :(得分:0)

这是我到目前为止提出的批处理脚本,但它显然只是Windows,而onsub解决方案是可移植的。此外,它不会检查检测到的嵌套存储库是否实际列在.hgsub

hg pull --rebase
hg update

@echo off
FOR /D %%s IN (*) DO (
    IF EXIST %%s\.hg\ (
        pushd %%s
        @echo on
        hg pull --rebase
        hg update
        @echo off
        popd
    )
)
@echo on