rebase -i: use full onto sha1 in reflog
authorMichael J Gruber <git@drmicha.warpmail.net>
Fri, 10 Aug 2012 06:51:19 +0000 (08:51 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 10 Aug 2012 16:41:28 +0000 (09:41 -0700)
'git rebase' uses the full onto sha1 for the reflog message whereas 'git
rebase -i' uses the short sha1. This is not only inconsistent, but can
lead to problems when the reflog is inspected at a later time at which
that abbreviation may have become ambiguous.

Make 'rebase -i' use the full onto sha1, as well.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index 2e1325824c5d1457a3a29fbf2b80661c05f035e6..905346084ce0fbbb65273a8d2dbc42408289ea73 100644 (file)
@@ -533,11 +533,10 @@ do_next () {
        test -s "$todo" && return
 
        comment_for_reflog finish &&
-       shortonto=$(git rev-parse --short $onto) &&
        newhead=$(git rev-parse HEAD) &&
        case $head_name in
        refs/*)
-               message="$GIT_REFLOG_ACTION: $head_name onto $shortonto" &&
+               message="$GIT_REFLOG_ACTION: $head_name onto $onto" &&
                git update-ref -m "$message" $head_name $newhead $orig_head &&
                git symbolic-ref \
                  -m "$GIT_REFLOG_ACTION: returning to $head_name" \