gerrit/Documentation/error-missing-changeid.txt
Edwin Kempin 4fc2a52980 Improve reject message if Change-Id is in subject
Some users that are new to Git and Gerrit manage to create commits
without subject and message, but with a Change-Id footer. This happens
mainly from EGit where the Change-Id footer is inserted automatically
and users just confirm the commit dialog without typing any subject or
message. This results in a commit message that looks like this:
"
Change-Id: I4bcf4f0bd8ed8da41ce53efd7298b80cec492d64
"

Pushing this change for review if Change-Id is required results in the
following error message:

"remote: ERROR: missing Change-Id in commit message footer
remote: Suggestion for commit message:
remote:
remote: Change-Id: I4bcf4f0bd8ed8da41ce53efd7298b80cec492d64"

This confuses the users since
a) they have a Change-Id in the commit message and
b) the suggested commit message looks like the existing commit message.

Handle this special case and provide a specific error message:
"missing subject, Change-Id must be in commit message footer"

Change-Id: I4bcf4f0bd8ed8da41ce53efd7298b80cec492d64
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2014-02-21 09:25:33 +01:00

58 lines
2.3 KiB
Plaintext

= missing Change-Id in commit 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 in the footer (the last paragraph).
This error may happen for different reasons:
. missing Change-Id in the commit message
. Change-Id is contained in the commit message but not in the last
paragraph
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 WebUI 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].
== Change-Id is contained in the commit message but not in the last paragraph
To be picked up by Gerrit, a Change-Id must be in the last paragraph
of a commit message, for details, see link:user-changeid.html[Change-Id Lines].
If the Change-Id is contained in the commit message but not in its
last paragraph you have to update the commit message and move the
Change-ID into the last paragraph. 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
---------