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
@@ -7,16 +7,41 @@ LF='
7 '
8
9 echo '#!/bin/sh
10 +accept_rerere=t
11 +while case "$#,$1" in 0,*) break;; *,-*) ;; *) break ;; esac
12 +do
13 + case "$1" in
14 + -n) accept_rerere= ;;
15 + *) echo "$0 [-n]"; exit 1 ;;
16 + esac
17 + shift
18 +done
19 +
20 +accept_rerere () {
21 + if test -z "$accept_rerere"
22 + then
23 + return 1
24 + fi
25 + if git diff HEAD |
26 + grep -e "^+<<<<<<<" -e "^+=======" -e "^+>>>>>>>" >/dev/null
27 + then
28 + return 1
29 + else
30 + EDITOR=: git commit -a
31 + return 0
32 + fi
33 +}
34 +
35 while read branch eh
36 do
37 case "$eh" in
38 "")
39 echo >&2 "* $branch"
15 - git merge "$branch" || break ;;
40 + git merge "$branch" || accept_rerere || exit ;;
41 pick" "*)
42 echo >&2 "* $eh"
18 - git cherry-pick "$branch" || break ;;
19 - *) echo >&2 "Eh? $branch $eh"; break ;;
43 + git cherry-pick "$branch" || exit ;;
44 + *) echo >&2 "Eh? $branch $eh"; exit ;;
45 esac
46 done <<EOF'
47