【发布时间】:2009-05-26 00:16:24
【问题描述】:
我是 Windows 上的一个 mercurial 用户,我正在尝试编写一个批处理文件来检查对存储在一个公共文件夹中的多个存储库的传入更改(即主文件夹下可能有 10 个左右小的 mercurial 存储库) .我有以下批处理文件,它成功地遍历了多个存储库并运行 hg 传入。但是,当找到具有远程更改的存储库时,我似乎无法让它执行 hg -pull -u 。
FOR /D /r %%G in (".hg*") DO (
@echo Processing: %%G
cd /d %%G\..
hg incoming
IF NOT ERRORLEVEL 0 (
echo Pulling changes from the server
hg pull -u
)
cd..
)
我很确定问题出在 If 语句上。 hg 传入似乎没有可以由 ERRORLEVEL 解释的返回值。这是正确的方法还是我应该改用 python?
【问题讨论】:
-
我最终创建了两个批处理文件。一个执行 hg pull,另一个执行 hg update。这似乎是最安全的解决方案,因为 hg pull 的输出指示是否需要合并 repo 或可以简单地更新。感谢大家的回复。
标签: windows mercurial batch-file