]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Meta/Reintegrate: allow each step to be optionally amended
authorJunio C Hamano <gitster@pobox.com>
Fri, 16 Mar 2012 20:04:28 +0000 (13:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Mar 2012 20:04:28 +0000 (13:04 -0700)
This will let me run 'Meta/Reintegrate -e' and feed the selected branches
while on 'master', i.e. the final graduation ceremony, and clean up the
merge messages.

Reintegrate

index f56214fc431ab526d7946b7682601afed06a88d0..997c4cd10e083016ea64123906cc33772f568d21 100755 (executable)
@@ -1,10 +1,11 @@
 #!/bin/sh
 
-accept_rerere="--rerere-autoupdate" generate=no update= diff=
+accept_rerere="--rerere-autoupdate" generate=no update= diff= edit=
 while case "$#,$1" in 0,*) break;; *,-*) ;; esac
 do
        case "$1" in
        -n)     accept_rerere= ;;
+       -e)     edit=t ;;
        -d)     update=${2?"diff with what?"}
                diff=yes
                generate=yes
@@ -66,7 +67,7 @@ annotate_merge () {
 case "$generate" in
 no)
        accept_rerere () {
-               if ! git write-tree 2>/dev/null
+               if ! git write-tree 2>/dev/null >/dev/null
                then
                        git rerere remaining
                        return 1
@@ -94,6 +95,8 @@ no)
                        exit
 
                        annotate_merge "$branch" || exit
+                       test -z "$edit" ||
+                       git commit --amend || exit
 
                        this=$(git rev-parse --verify HEAD)
                        if test "$this" = "$save"