1063e30c58
Documentation/user-change-id.txt explains: To be picked up by Gerrit, a Change-Id line must be in the footer (last paragraph) of a commit message, and may be mixed together with Signed-off-by, Acked-by, or other such lines. It is easy to forget to do that, producing a commit message like Do something great Change-Id: I55ca6286e3e4f4fba5d0448333fa99fc5a404a73 Bug: 12345 Because of the blank line between the Change-Id and other trailer line, the Change-Id is not picked up by Gerrit. Worse, if the repository is configured with "Require Change-Id in commit message" set to false, then Gerrit comes up with its own change-id for the change. If I amend my commit in response to review comments and push for review again, Gerrit comes up with another change-id, so my amended version of the change shows up as a new change. This sequence of events can be avoided by setting "Require Change-Id" to true, but some projects like to review changes from upstreams that don't use Gerrit. Fortunately, even these projects don't need changes with a Change-Id before the footer. Treat them as an error unconditionally, with the same advice to the user about how to clean up that is already shown in Require Change-Id mode: ERROR: Change-Id must be in message footer Hint: run git commit --amend and move 'Change-Id: Ixxx..' to the bottom on a separate line As a side benefit, treating this as its own error type also allows simplifying the error reporting for changes with no Change-Id. Reported-by: Paul Crowley <paulcrowley@google.com> Change-Id: Ia5d43370e075d6fc13cd9b22031436f1138e90c0
41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
= commit xxxxxxx: missing Change-Id in message footer
|
|
|
|
With this error message Gerrit rejects to push a commit to a project
|
|
which is configured to always require a Change-Id in the commit
|
|
message if the commit message of the pushed commit does not contain
|
|
a Change-Id.
|
|
|
|
You can see the commit messages for existing commits in the history
|
|
by doing a link:http://www.kernel.org/pub/software/scm/git/docs/git-log.html[git log].
|
|
|
|
To avoid this error you should use the link:cmd-hook-commit-msg.html[commit hook] or EGit to
|
|
automatically create and insert a unique Change-Id into the commit
|
|
message on every commit.
|
|
|
|
|
|
== Missing Change-Id in the commit message
|
|
|
|
If the commit message of a commit that you want to push does not
|
|
contain a Change-Id you have to update its commit message and insert
|
|
a Change-Id.
|
|
|
|
If you want to upload a new change to Gerrit make sure that you have
|
|
configured your environment so that a unique Change-Id is
|
|
automatically created and inserted on every commit as explained
|
|
above. Now you can rewrite the commits for which the Change-Ids are
|
|
missing and the Change-Ids will be automatically created and inserted
|
|
into the commit messages. This is explained link:error-push-fails-due-to-commit-message.html#commit_hook[here].
|
|
|
|
If you want to update an existing change in Gerrit by uploading a new
|
|
patch set you should copy its Change-Id from the Gerrit Web UI and
|
|
insert it into the commit message. How to update the commit message
|
|
is explained link:error-push-fails-due-to-commit-message.html[here].
|
|
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:error-messages.html[Gerrit Error Messages]
|
|
|
|
SEARCHBOX
|
|
---------
|