为了在Windows XP上每天备份我的mercurial仓库,我使用了一个简单的批处理文件hg_backup.bat
,它只是做了一些目录更改和mercurial调用,并在最后加上了pause
命令,类似于这样:
@Z:
@cd \hg_backup\drawings
hg pull -v
@cd \hg_backup\src\scripts
hg pull -v
@cd \hg_backup\eagle4\lbr
hg pull -v
@pause
这在用TortoiseHg安装的Mercurial 1.7版本之前都很好用。但是,自从使用Mercurial 1.8版本后,它开始执行第一个Mercurial命令,然后突然退出,没有到达下一个命令甚至脚本结尾。命令窗口就消失了。
我以前用Git时也遇到了同样的问题,但没有进一步调查,因为我只在一个代码库中使用Git。我认为,hg命令行调用的某个返回代码导致脚本结束而不是执行其他命令,但我还无法验证这一点。
是否有人知道为什么会出现这种情况,甚至如何解决它?