Reintegrate: Accept rerere by default

Junio C Hamano committed Mar 30, 2009 at 14:41 UTC 7aee035363feb2db0715be4d8e08ad86fe85ab34
1 file changed +28 -3
Reintegrate
+28 -3
index 0b56201d86..cb75f128fd 100755 --- a/Reintegrate +++ b/Reintegrate @@ -7,16 +7,41 @@ LF=' ' echo '#!/bin/sh +accept_rerere=t +while case "$#,$1" in 0,*) break;; *,-*) ;; *) break ;; esac +do + case "$1" in + -n) accept_rerere= ;; + *) echo "$0 [-n]"; exit 1 ;; + esac + shift +done + +accept_rerere () { + if test -z "$accept_rerere" + then + return 1 + fi + if git diff HEAD | + grep -e "^+<<<<<<<" -e "^+=======" -e "^+>>>>>>>" >/dev/null + then + return 1 + else + EDITOR=: git commit -a + return 0 + fi +} + while read branch eh do case "$eh" in "") echo >&2 "* $branch" - git merge "$branch" || break ;; + git merge "$branch" || accept_rerere || exit ;; pick" "*) echo >&2 "* $eh" - git cherry-pick "$branch" || break ;; - *) echo >&2 "Eh? $branch $eh"; break ;; + git cherry-pick "$branch" || exit ;; + *) echo >&2 "Eh? $branch $eh"; exit ;; esac done <<EOF'