+LF='
+'
+
+case "$#" in
+0)
+ # interactive ;-)
+ shift
+ HH=`cd .git/refs/heads && find -type f |
+ sed -e 's/^\.\///' \
+ -e '/^naster$/d' -e '/^master$/d' -e '/^maint$/d' -e '/^pu$/d'`
+ while test "$HH"
+ do
+ I=0
+ echo "0: done"
+ NHH=
+ for H in $HH
+ do
+ HSHA1=`git-rev-parse --verify $H` || continue
+ MB=`git-show-branch --merge-base pu $HSHA1`
+ case "$LF$MB$LF" in
+ *"$LF$HSHA1$LF"*) continue ;; # already merged.
+ esac
+ I=$(($I+1))
+ echo -n "$I: "
+ git-show-branch $H
+ NHH="${NHH}$H "
+ done
+ case "$I" in
+ 0)
+ break ;;
+ esac
+ HH=$NHH
+ echo -n "Merge which ones (0 to finish)? "
+ read ans
+ case "$ans" in
+ '' | 0)
+ break ;;
+ esac
+ I=0
+ UNUSE= USE= USED=
+ for H in $HH
+ do
+ I=$(($I+1))
+ case " $ans " in
+ *' '$I' '*)
+ USE="$USE$H "
+ USED="$USED,$H"
+ ;;
+ *)
+ UNUSE="$UNUSE$H "
+ ;;
+ esac
+ done
+ USED=`expr "$USED" : ',\(.*\)'`
+ git pull -n . $USE || exit
+ # git merge -n "Merge $USED" pu $USE || exit
+ HH=$UNUSE
+ done
+ exit
+ ;;
+esac