4

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

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

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

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

3 回答 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 更新到新的分支头
于 2017-11-22T11:53:22.277 回答
1

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

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

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

单击此处获取更多find信息

于 2018-02-14T15:11:27.790 回答
0

在插件项目的根目录上运行此命令

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

于 2021-07-24T20:49:31.703 回答