代码之家  ›  专栏  ›  技术社区  ›  fbuchinger

hg pull是否仅在当前工作目录上运行?

  •  19
  • fbuchinger  · 技术社区  · 15 年前

    我有多个mercurial存储库并使用 hg clone hg pull -u 在每个子目录上。

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

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

    问题是:hgpull似乎只在当前工作目录上运行,似乎没有为pull指定目标存储库的开关。因为我讨厌Windows批处理脚本,所以我希望尽可能简单地保存我的.bat,并避免将其刻录到不同的目录中。

    你知道我怎么跑吗 在不同的目录上?

    2 回复  |  直到 15 年前
        1
  •  35
  •   Benjamin Wohlwend    15 年前

    使用 -R -开关:

    hg pull -u -R /path/to/repository
    

    hg -v help pull 对于的所有命令行选项 hg pull (修订) -v

        2
  •  0
  •   MattGWagner    14 年前

    $path = "c:\users\mattgwagner\Documents\Code"
    
    foreach($fi in get-childitem $path)
    {
        if(test-path $path\$fi\.svn)
        {
            "Updating " + $fi + " via Subversion..."
            svn update $path\$fi
        }
        elseif(test-path $path\$fi\.hg)
        {
            "Updating " + $fi + " via Mercurial..."
            hg pull -u -R $path\$fi
        }
    }