commit: use value of GIT_REFLOG_ACTION env variable as reflog message

The environment variable GIT_REFLOG_ACTION was used by git-commit.sh,
but when it was converted to a builtin
(f5bbc3225c, Port git commit to C,
Nov 8 2007) this was lost.

Let's use it again as it is more user friendly when reverting or
cherry-picking to see "revert" or "cherry-pick" in the reflog rather
than to just see "commit".

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2010-06-12 18:05:12 +02:00 committed by Junio C Hamano
parent 0d4dbcd35e
commit 643cb5f7c9
2 changed files with 13 additions and 6 deletions

View File

@ -1232,13 +1232,16 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
}
/* Determine parents */
reflog_msg = getenv("GIT_REFLOG_ACTION");
if (initial_commit) {
reflog_msg = "commit (initial)";
if (!reflog_msg)
reflog_msg = "commit (initial)";
} else if (amend) {
struct commit_list *c;
struct commit *commit;
reflog_msg = "commit (amend)";
if (!reflog_msg)
reflog_msg = "commit (amend)";
commit = lookup_commit(head_sha1);
if (!commit || parse_commit(commit))
die("could not parse HEAD commit");
@ -1249,7 +1252,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
struct strbuf m = STRBUF_INIT;
FILE *fp;
reflog_msg = "commit (merge)";
if (!reflog_msg)
reflog_msg = "commit (merge)";
pptr = &commit_list_insert(lookup_commit(head_sha1), pptr)->next;
fp = fopen(git_path("MERGE_HEAD"), "r");
if (fp == NULL)
@ -1272,7 +1276,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
if (allow_fast_forward)
parents = reduce_heads(parents);
} else {
reflog_msg = "commit";
if (!reflog_msg)
reflog_msg = "commit";
pptr = &commit_list_insert(lookup_commit(head_sha1), pptr)->next;
}

View File

@ -47,7 +47,8 @@ test_expect_success 'cherry-pick after renaming branch' '
git cherry-pick added &&
test $(git rev-parse HEAD^) = $(git rev-parse rename2) &&
test -f opos &&
grep "Add extra line at the end" opos
grep "Add extra line at the end" opos &&
git reflog -1 | grep cherry-pick
'
@ -57,7 +58,8 @@ test_expect_success 'revert after renaming branch' '
git revert added &&
test $(git rev-parse HEAD^) = $(git rev-parse rename1) &&
test -f spoo &&
! grep "Add extra line at the end" spoo
! grep "Add extra line at the end" spoo &&
git reflog -1 | grep revert
'