0%

gerrit draft and topic

介绍drafttopic两个功能

Gerrit

Gerrit相对Git提供了一个特有的命名空间refs/for/用来定义我们的提交上传到哪个branch,且可以用来区分我们的commit是提交到Gerrit进行审核还是直接提交到Git仓库,格式如下:

refs/for/<target-branch>

  • Push 一个 Commit 到 Gerrit: git push origin HEAD:refs/for/master
  • 直接 Push 一个 commit 到 Git 仓库:(默认配置成不允许) git push origin HEAD:master

commit PushGerrit等待review时,Gerrit会将此commit保存在一个名为refs/changes/xx/yy/zz的一个暂存branch中。

  • zz为这个commitpatch set
  • yychange
  • xxchange号的后两位

Draft

refs/drafts/<target branch>

$ git push origin HEAD:refs/drafts/xxx

Gerrit中点击Publish按钮转换为正式Change

Topic

refs/for/<target branch>
refs/for/<target branch>/<topic name>

$ git push origin HEAD:refs/for/xxx%topic=123
$ git push origin HEAD:refs/for/xxx/123

Topic用于归类相关的提交,可以用上述的命令,同时可以在Gerrit中编辑Topic

Ref

  1. Understanding and Applying Gerrit, Part 3: Gerrit Submit Types and Git-Review
  2. How to push Drafts to Gerrit?
  3. 代码检视工具 Gerrit 的日常使用
  4. Gerrit Introduction
  5. Gerrit Code Review - Uploading Changes