这是我的另一个问题的后续问题:What is the official name of the number in a Gerrit review url
我现在已经知道嵌入在Gerrit网址中的小整数被称为" Gerrit Change Number "有时" 数字变更号"。例如,以下Gerrit网址中的数字为68
http://gerrithost:8080/68
这个数字在理解Gerrit工作流程方面起着重要作用,但对此却没有太多讨论。我甚至觉得它可能已被弃用(因为 Change-Id - 前缀为字符&#34的长哈希字符串;我&#34; - 也唯一地标识了一个gerrit < EM>更改)
Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
在哪里可以找到有关Gerrit Change Number的更多讨论?它确实被弃用了吗?如果是,那么这是否意味着有一个工作流程不使用数字? (但是如何构建Gerrit URL?)
我在此页面上发现了此讨论(Gerrit User Guide)。它表明了工作流程中数字的重要性。
当推送提交进行审核时,Gerrit会将其存储在暂存区域中 这是特殊引用/更改/命名空间中的一个分支。改变参考 格式为refs / changes / XX / YYYY / ZZ,其中YYYY为数字 更改编号,ZZ是补丁集编号,XX是最后两个 数字变化数字的数字,例如参考文献/更改/ 20 /一分之八十八万四千一百二十。 使用时不需要了解此ref的格式 格里特。
答案 0 :(得分:1)
不推荐使用Gerrit更改编号。这是在浏览器网址(https://GERRIT-SERVER/GERRIT-CHANGE-NUMBER)中访问Gerrit更改的方式。
Change-Id也标识更改,但稍后创建它以解决特定问题:识别属于同一审阅的提交(补丁集)。例如,当需要修改更改时,可以上载第二个提交以解决报告的问题。 Gerrit允许将这两个提交附加到同一个更改,并依赖于提交消息底部的Change-Id行来执行此操作。通过此Change-Id,Gerrit可以自动将新版本的更改与其原始评论相关联,甚至可以通过樱桃选择和重组。
详细了解Change-Id here。
答案 1 :(得分:1)
更改号码和更改ID用于不同目的。
来自Gerrit Docs on Change-Ids ...
Gerrit需要识别属于同一评论的提交。例如,当需要修改更改时,可以上载第二个提交以解决报告的问题。 Gerrit允许将这两个提交附加到同一个更改,并依赖于提交消息底部的Change-Id行来执行此操作。 通过此Change-Id,Gerrit可以自动将新版本的更改重新关联到其原始评论,甚至是樱桃选择和重新定位 。
Change-ID是一个校验和,用于识别在评论过程中重写,修改和重写提交的其他方法的相同更改。这是关键: Git不会重写提交。 Git创建了新的提交并假装它一直都是这样。 Gerrit需要一种方法来知道这些新的提交实际上与你提出的审查相关。
来自User Guide ...
的更多信息如果提交了在其提交消息中具有Change-Id的提交以供审阅,则Gerrit会检查此项目和目标分支是否已存在具有此Change-Id的更改,如果是,则Gerrit会创建新的修补程序集为了这个改变。如果不是,则创建具有给定Change-Id的新更改。
如果推送没有Change-Id的提交进行审核,Gerrit会创建一个新的更改并为其生成一个Change-Id。
修改和重新定位提交会保留Change-Id,以便在推送进行审核时,新提交会自动成为现有更改的新修补程序集。
查看它的一种方法是更改号码是变更的人类可读标识符。 Change-ID是Gerrit的簿记。 Change-ID仅对用户可见,因为Git无法将Gerrit存储有关提交的元数据,而不是将其放在提交消息中。
答案 2 :(得分:1)
更改编号唯一标识更改。它是变更条目的唯一值。除了urls和ref之外,它还可以用于Gerrit查询和REST API。
ssh -p 29418 $user@$gerrithost gerrit query change:884120
curl --digest --user $user:$httpassword $gerrithost/gerrit/a/changes/884120
答案 3 :(得分:0)
我期待这样的讨论。我相信以下断言是正确的,但我需要确认。 (这就是我首先寻找文档的原因)。请帮帮我。