From b1bfcae438adb485bb66e2f59396373809e346e6 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 16 Dec 2006 12:31:45 -0800 Subject: [PATCH] merge: give a bit prettier merge message to "merge branch~$n" This hacks the input to fmt-merge-msg to make the message for merging early part of a branch a little easier to read. Signed-off-by: Junio C Hamano --- git-merge.sh | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/git-merge.sh b/git-merge.sh index c895a04f6..4ebfcf65d 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -91,6 +91,22 @@ finish () { esac } +merge_name () { + remote="$1" + rh=$(git-rev-parse --verify "$remote^0" 2>/dev/null) || return + bh=$(git-show-ref -s --verify "refs/heads/$remote" 2>/dev/null) + if test "$rh" = "$bh" + then + echo "$rh branch '$remote' of ." + elif truname=$(expr "$remote" : '\(.*\)~[1-9][0-9]*$') && + git-show-ref -q --verify "refs/heads/$truname" 2>/dev/null + then + echo "$rh branch '$truname' (early part) of ." + else + echo "$rh commit '$remote'" + fi +} + case "$#" in 0) usage ;; esac rloga= have_message= @@ -188,15 +204,7 @@ else # in this loop. merge_name=$(for remote do - rh=$(git-rev-parse --verify "$remote"^0 2>/dev/null) || - continue ;# not something we can merge - bh=$(git show-ref -s --verify "refs/heads/$remote" 2>/dev/null) - if test "$rh" = "$bh" - then - echo "$rh branch '$remote' of ." - else - echo "$rh commit '$remote'" - fi + merge_name "$remote" done | git-fmt-merge-msg ) merge_msg="${merge_msg:+$merge_msg$LF$LF}$merge_name" -- 2.30.2