gpt4 book ai didi

git - 通过主题获取 gerrit 补丁集(适用于多个存储库)

转载 作者:太空狗 更新时间:2023-10-29 13:55:51 30 4
gpt4 key购买 nike

我们的项目中有几个子模块。因此,假设一位开发人员实现了一项影响其中几个子模块的新功能,并将他的更改上传到具有相同主题的 gerrit 补丁集。

所以当我想下载他的更改时,我可以从 gerrit web 界面获取下载链接。但我必须为每个子模块执行此操作。

有没有一种简单的方法可以通过主题名称自动获取补丁集?
git fetch origin refs/changes/*topicname* 这样的东西?

或者我必须使用 gerrit REST API 吗?

最佳答案

我为此写了一个小脚本 - 它比我想象的要容易。
这是要做的事情:

  • 通过 gerrit 查询获取所需的补丁集,如下所示:
    ssh -p 29418 myserver gerrit query --patch-sets topic:mytopic AND project:myproject
  • 由于 gerrit 会为每个补丁集输出大量数据,我们必须“grep”和“sed”它输出一点点:
    grep ref: | sed s%\\\\ref:\%%
    所以我们得到一个很好的要获取的引用列表
  • 我们可以将此输出与 xargs xargs -r -n 1 get_n_tag_patchset.sh
  • 一起使用
  • 我的 get_n_tag_patchset.sh 看起来像这样:
    git fetch --recurse-submodules=no origin $1
    git tag -f $1 FETCH_HEAD

我将前三点 merge 在一个命令行中:
ssh -p 29418 myserver gerrit query --patch-sets topic:mytopic AND project:myproject | grep 引用: | sed %\\\\引用:\%% | xargs -r -n 1 get_n_tag_patchset.sh

所以我最终在我的本地存储库中得到了所需主题的所有补丁集,每个补丁集上都有一个标签。
对我的所有子模块执行此操作(当然,必须替换“myproject”以匹配子模块)将完成其余工作。 :-)

关于git - 通过主题获取 gerrit 补丁集(适用于多个存储库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24819039/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com