关于ubuntu:运行hg pull over all subdirectories

Run hg pull over all subdirectories

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

1
2
3
/plugins/search
/plugins/overview
/plugins/chart

我想将一个分支更改为默认分支并同时更新它们

1
2
3
cd /plugins/search
hg update -C default
hg pull -u


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

1
2
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
find . -type d -iname .hg -exec echo \; -exec hg pull -u -R {}/.. \;

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

单击此处了解更多的find