运行hg pull over all subdirectories

时间:2017-11-22 11:53:22

标签: ubuntu mercurial multiple-repositories

如何从共享父目录更新多个mercurial(hg)存储库?

/plugins/search
/plugins/overview
/plugins/chart

我想将分支更改为默认分支并立即更新它们

cd /plugins/search
hg update -C default
hg pull -u

3 个答案:

答案 0 :(得分:1)

在这种情况下,从父目录plugins运行以下命令:

find . -type d -maxdepth 1 -exec hg update -C default -R {} \;
find . -type d -maxdepth 1 -exec hg pull -u -R {} \;

澄清:

  • find .搜索当前目录
  • -type d查找目录,而不是文件
  • -maxdepth 1,最大深度为一个子目录
  • -exec {} \;为每个查找
  • 运行自定义命令
  • hg update -C default -R {} hg将分支更改为每个存储库中的默认值
  • hg pull -u -R {} hg如果在每个存储库中提取了更改集,则更新到新的分支头

答案 1 :(得分:0)

在目录树中更深层次地查找存储库

find . -type d -iname .hg -exec echo \; -exec hg pull -u -R {}/.. \;

初始-exec echo \;仅用于保持输出清洁。

点击此处查看more find galore

答案 2 :(得分:0)

在您的项目根目录(plugin

)上运行此命令 <块引用>

找到。 -maxdepth 1 -type d -print -execdir git --git-dir={}/.git --work-tree=$PWD/{} 拉源开发;