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