运行 hg 拉过所有子目录

Run hg pull over all subdirectories

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

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

我想将一个分支更改为默认分支并一次性全部更新

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

运行 父目录中的以下内容,在本例中为 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 更新到新的分支头

在目录树的更深处查找存储库

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

最初的 -exec echo \; 只是为了保持输出干净。

单击此处查看 more find galore

运行 这个命令在你项目的根目录是 plugin

find . -maxdepth 1 -type d -print -execdir git --git-dir={}/.git --work-tree=$PWD/{} pull origin develop;