hg pull只能在当前工作目录上运行吗?

fbu*_*ger 19 windows backup mercurial pull

我有多个mercurial存储库,用于hg clone在我们的文件服务器上创建它们的备份.现在我想编写一个批处理文件,通过hg pull -u在每个子目录上运行,每天更新一次.

我希望将此备份脚本尽可能保持通用,因此它应该更新存储在我的H:\ BACKUPS\REPOS文件夹中的所有备份存储库.这是我的hgbackup.bat,它存储在同一个文件夹中:

for /f "delims=" %%i in ('dir /ad/b') do hg pull -u

问题:hg pull似乎只在当前工作目录上运行,似乎没有开关指定拉动的目标存储库.由于我讨厌Windows Batch Scripting,我想让我的.bat尽可能简单,并避免cd到不同的目录.

hg pull -u有什么想法可以在不同的目录上运行?

Ben*_*end 35

使用-R-switch:

hg pull -u -R /path/to/repository
Run Code Online (Sandbox Code Playgroud)

请参阅hg -v help pull所有命令行选项hg pull(-v交换机告诉help包括全局选项).

  • 谢谢!作为其他google的澄清,-R选项是一个全局选项,可以在当前目录以外的目录上运行任何hg命令.我用它将一个repo中的提交更改为相关的repo:`hg log -pr 9369 -R ../other-repo | 补丁-p1`.如果你没有补丁,`hg import --no-commit`是类似的. (3认同)
  • 谢谢您的帮助!是的,我在-R选项中遇到了问题,但我认为它会指定要从中获取的存储库. (2认同)