在所有子目录中运行hg pull

5

我该如何从共同父目录更新多个Mercurial(hg)存储库?

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

我想将分支更改为默认分支,并一次性更新所有分支。

cd /plugins/search
hg update -C default
hg pull -u
3个回答

2
从父目录运行以下命令,这里是 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 更新到新的分支头

2
在目录树的更深层次中查找存储库。
find . -type d -iname .hg -exec echo \; -exec hg pull -u -R {}/.. \;

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

点击此处获取更多find信息


0

在你的项目根目录下运行以下命令,即插件

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接