blob: 5a7b2475afecd9dd86cbcdf322cdc2b8a62f7316 [file] [log] [blame]
commit-msg Hook
===============
NAME
----
commit-msg - Edit commit messages to insert a `Change-Id` tag.
DESCRIPTION
-----------
A Git hook automatically invoked by `git commit`, and most other
commit creation tools such as `git citool` or `git gui`. The Gerrit
Code Review supplied implementation of this hook is a short shell
script which automatically inserts a globally unique `Change-Id`
tag in the footer of a commit message. When present, Gerrit uses
this tag to track commits across cherry-picks and rebases.
After the hook has been installed in the user's local Git repository
for a project, the hook will modify a commit message such as:
====
Improve foo widget by attaching a bar.
We want a bar, because it improves the foo by providing more
wizbangery to the dowhatimeanery.
Signed-off-by: A. U. Thor <author@example.com>
====
by inserting a new `Change-Id: ` line in the footer:
====
Improve foo widget by attaching a bar.
We want a bar, because it improves the foo by providing more
wizbangery to the dowhatimeanery.
Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
Signed-off-by: A. U. Thor <author@example.com>
====
The hook implementation is reasonably intelligent at inserting the
Change-Id line before any Signed-off-by or Acked-by lines placed
at the end of the commit message by the author, but if no such
lines are present then it will just insert a blank line, and add
the Change-Id at the bottom of the message.
If a Change-Id line is already present in the message footer, the
script will do nothing, leaving the existing Change-Id unmodified.
This permits amending an existing commit, or allows the user to
insert the Change-Id manually after copying it from an existing
change viewed on the web.
OBTAINING
---------
To obtain the 'commit-msg' script use scp to copy it to your
local system:
$ scp -P 29418 review.example.com:hooks/commit-msg .git/hooks
GERRIT
------
Part of link:index.html[Gerrit Code Review]