comparison hgmerge @ 1771:e22bbca2e82b

hgmerge: add and use ask_if_merged function This patch, unlike the earlier ones, doesn't use unportable select builtin.
author Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
date Tue, 21 Feb 2006 15:48:12 -0600
parents 4eea6a747c27
children b1a7fd503a29
comparison
equal deleted inserted replaced
1770:4eea6a747c27 1771:e22bbca2e82b
68 mv "$BACKUP" "$LOCAL" 68 mv "$BACKUP" "$LOCAL"
69 cleanup 69 cleanup
70 exit 1 70 exit 1
71 } 71 }
72 72
73 # Ask if the merge was successful
74 ask_if_merged() {
75 while 1; do
76 echo "$LOCAL seems unchanged. Was the merge successful? [y/n]"
77 read answer
78 case answer in
79 y*|Y*) success;;
80 n*|N*) failure;;
81 esac
82 done
83 }
84
73 # Clean up when interrupted 85 # Clean up when interrupted
74 trap "failure" 1 2 3 6 15 # HUP INT QUIT ABRT TERM 86 trap "failure" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
75 87
76 # Back up our file (and try hard to keep the mtime unchanged) 88 # Back up our file (and try hard to keep the mtime unchanged)
77 mv "$LOCAL" "$BACKUP" 89 mv "$LOCAL" "$BACKUP"
96 cp "$BACKUP" "$LOCAL" 108 cp "$BACKUP" "$LOCAL"
97 cp "$BACKUP" "$CHGTEST" 109 cp "$BACKUP" "$CHGTEST"
98 # filemerge prefers the right by default 110 # filemerge prefers the right by default
99 $FILEMERGE -left "$OTHER" -right "$LOCAL" -ancestor "$BASE" -merge "$LOCAL" 111 $FILEMERGE -left "$OTHER" -right "$LOCAL" -ancestor "$BASE" -merge "$LOCAL"
100 [ $? -ne 0 ] && echo "FileMerge failed to launch" && failure 112 [ $? -ne 0 ] && echo "FileMerge failed to launch" && failure
101 if test "$LOCAL" -nt "$CHGTEST" 113 test "$LOCAL" -nt "$CHGTEST" && success || ask_if_merged
102 then
103 success
104 else
105 echo "$LOCAL seems unchanged. Was the merge successful?"
106 select answer in yes no
107 do
108 test "$answer" == "yes" && success || failure
109 done
110 fi
111 failure 114 failure
112 fi 115 fi
113 116
114 if [ -n "$DISPLAY" ]; then 117 if [ -n "$DISPLAY" ]; then
115 # try using kdiff3, which is fairly nice 118 # try using kdiff3, which is fairly nice