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

Mercurial 编写在repo根文件夹中运行并更新所有子repo的脚本,mercurial,Mercurial,我已经有了下面的脚本,它工作得很好,但是依赖于onsub扩展来更新主回购协议和所有子回购协议: hg pull --rebase hg onsub -t hg "hg pull --update" hg onsub -t hg "hg update" 自2017年起,onsub不再提供: 如果不对子回购列表进行硬编码,我现在如何执行相同的任务呢?这是我到目前为止提出的批处理脚本,但显然它仅限于Windows,而onsub解决方案是可移植的。此外,它不会检查检测到的嵌套存储库是否实际列在.hgs

我已经有了下面的脚本,它工作得很好,但是依赖于
onsub
扩展来更新主回购协议和所有子回购协议:

hg pull --rebase
hg onsub -t hg "hg pull --update"
hg onsub -t hg "hg update"
自2017年起,onsub不再提供:


如果不对子回购列表进行硬编码,我现在如何执行相同的任务呢?

这是我到目前为止提出的批处理脚本,但显然它仅限于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