Whamcloud - gitweb
LU-553 build: improve checks for commit-msg
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 11 Nov 2011 23:26:33 +0000 (16:26 -0700)
committerOleg Drokin <green@whamcloud.com>
Thu, 24 Nov 2011 11:57:44 +0000 (06:57 -0500)
commit3f5e72e4cff0d5238fa3ef7a7acf27c86ea973e8
tree2a40f59442a735dda94a08cf44efefb8cbca8d9a
parente1929826f2a57013c0fb640ebbf280a314971096
LU-553 build: improve checks for commit-msg

Improve the checks done by the commit-msg script.  It now ensures
that all the parts of the commit message are present.
- validate that the Change-Id: generated from 'git hash-object' is
  not empty, since this can happen if git is unhappy with the options
- check for only one Change-Id: line (multiple Signed-off-by: OK)
- describe the "component:" field better, with some examples

If there was an error committing the message, save a copy to a
temporary file, so that it can be edited and re-used, instead of
having to recreate it each time, or fetch it from .git/COMMIT_MSG.

Add a simple regression test with good & bad commit messages, so
it is easier to verify that any changes made to the script will
continue to both detect errors, and pass valid commit messages.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I15cb3690560400a591598997424cf79dee3a039d
Reviewed-on: http://review.whamcloud.com/1688
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Reviewed-by: Mikhail Pershin <tappro@whamcloud.com>
15 files changed:
build/commit-msg
build/commit.badcid [new file with mode: 0644]
build/commit.bademail [new file with mode: 0644]
build/commit.badname [new file with mode: 0644]
build/commit.badsign [new file with mode: 0644]
build/commit.dupcid [new file with mode: 0644]
build/commit.nobody [new file with mode: 0644]
build/commit.nocmp [new file with mode: 0644]
build/commit.nojira [new file with mode: 0644]
build/commit.nosign [new file with mode: 0644]
build/commit.nosum [new file with mode: 0644]
build/commit.ok_cid [new file with mode: 0644]
build/commit.ok_dupsign [new file with mode: 0644]
build/commit.ok_nocid [new file with mode: 0644]
build/test-commit-msg.sh [new file with mode: 0755]