@@ -10,17 +10,17 @@ merge_mode() {
10
10
11
11
translate_merge_tool_path () {
12
12
case " $1 " in
13
- vimdiff|vimdiff2)
14
- echo vim
15
- ;;
16
- gvimdiff|gvimdiff2)
17
- echo gvim
13
+ araxis)
14
+ echo compare
18
15
;;
19
16
emerge)
20
17
echo emacs
21
18
;;
22
- araxis)
23
- echo compare
19
+ gvimdiff|gvimdiff2)
20
+ echo gvim
21
+ ;;
22
+ vimdiff|vimdiff2)
23
+ echo vim
24
24
;;
25
25
* )
26
26
echo " $1 "
@@ -46,17 +46,16 @@ check_unchanged () {
46
46
47
47
valid_tool () {
48
48
case " $1 " in
49
- kdiff3 | tkdiff | xxdiff | meld | opendiff | \
50
- vimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \
51
- emerge | ecmerge | diffuse | araxis | p4merge)
49
+ araxis | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \
50
+ kdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)
52
51
;; # happy
53
- tortoisemerge )
54
- if ! merge_mode ; then
52
+ kompare )
53
+ if ! diff_mode ; then
55
54
return 1
56
55
fi
57
56
;;
58
- kompare )
59
- if ! diff_mode ; then
57
+ tortoisemerge )
58
+ if ! merge_mode ; then
60
59
return 1
61
60
fi
62
61
;;
@@ -89,88 +88,76 @@ run_merge_tool () {
89
88
status=0
90
89
91
90
case " $1 " in
92
- kdiff3 )
91
+ araxis )
93
92
if merge_mode; then
93
+ touch " $BACKUP "
94
94
if $base_present ; then
95
- (" $merge_tool_path " --auto \
96
- --L1 " $MERGED (Base)" \
97
- --L2 " $MERGED (Local)" \
98
- --L3 " $MERGED (Remote)" \
99
- -o " $MERGED " \
100
- " $BASE " " $LOCAL " " $REMOTE " \
101
- > /dev/null 2>&1 )
95
+ " $merge_tool_path " -wait -merge -3 -a1 \
96
+ " $BASE " " $LOCAL " " $REMOTE " " $MERGED " \
97
+ > /dev/null 2>&1
102
98
else
103
- (" $merge_tool_path " --auto \
104
- --L1 " $MERGED (Local)" \
105
- --L2 " $MERGED (Remote)" \
106
- -o " $MERGED " \
107
- " $LOCAL " " $REMOTE " \
108
- > /dev/null 2>&1 )
99
+ " $merge_tool_path " -wait -2 \
100
+ " $LOCAL " " $REMOTE " " $MERGED " \
101
+ > /dev/null 2>&1
109
102
fi
110
- status= $?
103
+ check_unchanged
111
104
else
112
- (" $merge_tool_path " --auto \
113
- --L1 " $MERGED (A)" \
114
- --L2 " $MERGED (B)" " $LOCAL " " $REMOTE " \
115
- > /dev/null 2>&1 )
105
+ " $merge_tool_path " -wait -2 " $LOCAL " " $REMOTE " \
106
+ > /dev/null 2>&1
116
107
fi
117
108
;;
118
- kompare)
119
- " $merge_tool_path " " $LOCAL " " $REMOTE "
120
- ;;
121
- tkdiff)
109
+ diffuse)
122
110
if merge_mode; then
111
+ touch " $BACKUP "
123
112
if $base_present ; then
124
- " $merge_tool_path " -a " $BASE " \
125
- -o " $MERGED " " $LOCAL " " $REMOTE "
113
+ " $merge_tool_path " \
114
+ " $LOCAL " " $MERGED " " $REMOTE " \
115
+ " $BASE " | cat
126
116
else
127
117
" $merge_tool_path " \
128
- -o " $MERGED " " $LOCAL " " $REMOTE "
118
+ " $LOCAL " " $MERGED " " $REMOTE " | cat
129
119
fi
130
- status= $?
120
+ check_unchanged
131
121
else
132
- " $merge_tool_path " " $LOCAL " " $REMOTE "
122
+ " $merge_tool_path " " $LOCAL " " $REMOTE " | cat
133
123
fi
134
124
;;
135
- p4merge )
125
+ ecmerge )
136
126
if merge_mode; then
137
- touch " $BACKUP "
127
+ touch " $BACKUP "
138
128
if $base_present ; then
139
- " $merge_tool_path " " $BASE " " $LOCAL " " $REMOTE " " $MERGED "
129
+ " $merge_tool_path " " $BASE " " $LOCAL " " $REMOTE " \
130
+ --default --mode=merge3 --to=" $MERGED "
140
131
else
141
- " $merge_tool_path " " $LOCAL " " $LOCAL " " $REMOTE " " $MERGED "
132
+ " $merge_tool_path " " $LOCAL " " $REMOTE " \
133
+ --default --mode=merge2 --to=" $MERGED "
142
134
fi
143
135
check_unchanged
144
136
else
145
- " $merge_tool_path " " $LOCAL " " $REMOTE "
146
- fi
147
- ;;
148
- meld)
149
- if merge_mode; then
150
- touch " $BACKUP "
151
- " $merge_tool_path " " $LOCAL " " $MERGED " " $REMOTE "
152
- check_unchanged
153
- else
154
- " $merge_tool_path " " $LOCAL " " $REMOTE "
137
+ " $merge_tool_path " --default --mode=diff2 \
138
+ " $LOCAL " " $REMOTE "
155
139
fi
156
140
;;
157
- diffuse )
141
+ emerge )
158
142
if merge_mode; then
159
- touch " $BACKUP "
160
143
if $base_present ; then
161
144
" $merge_tool_path " \
162
- " $LOCAL " " $MERGED " " $REMOTE " \
163
- " $BASE " | cat
145
+ -f emerge-files-with-ancestor-command \
146
+ " $LOCAL " " $REMOTE " " $BASE " \
147
+ " $( basename " $MERGED " ) "
164
148
else
165
149
" $merge_tool_path " \
166
- " $LOCAL " " $MERGED " " $REMOTE " | cat
150
+ -f emerge-files-command \
151
+ " $LOCAL " " $REMOTE " \
152
+ " $( basename " $MERGED " ) "
167
153
fi
168
- check_unchanged
154
+ status= $?
169
155
else
170
- " $merge_tool_path " " $LOCAL " " $REMOTE " | cat
156
+ " $merge_tool_path " -f emerge-files-command \
157
+ " $LOCAL " " $REMOTE "
171
158
fi
172
159
;;
173
- vimdiff| gvimdiff)
160
+ gvimdiff|vimdiff )
174
161
if merge_mode; then
175
162
touch " $BACKUP "
176
163
if $base_present ; then
@@ -186,7 +173,7 @@ run_merge_tool () {
186
173
" $LOCAL " " $REMOTE "
187
174
fi
188
175
;;
189
- vimdiff2| gvimdiff2)
176
+ gvimdiff2|vimdiff2 )
190
177
if merge_mode; then
191
178
touch " $BACKUP "
192
179
" $merge_tool_path " -f -d -c " wincmd l" \
@@ -197,30 +184,42 @@ run_merge_tool () {
197
184
" $LOCAL " " $REMOTE "
198
185
fi
199
186
;;
200
- xxdiff )
187
+ kdiff3 )
201
188
if merge_mode; then
202
- touch " $BACKUP "
203
189
if $base_present ; then
204
- " $merge_tool_path " -X --show-merged-pane \
205
- -R ' Accel.SaveAsMerged: "Ctrl-S"' \
206
- -R ' Accel.Search: "Ctrl+F"' \
207
- -R ' Accel.SearchForward: "Ctrl-G"' \
208
- --merged-file " $MERGED " \
209
- " $LOCAL " " $BASE " " $REMOTE "
190
+ (" $merge_tool_path " --auto \
191
+ --L1 " $MERGED (Base)" \
192
+ --L2 " $MERGED (Local)" \
193
+ --L3 " $MERGED (Remote)" \
194
+ -o " $MERGED " \
195
+ " $BASE " " $LOCAL " " $REMOTE " \
196
+ > /dev/null 2>&1 )
210
197
else
211
- " $merge_tool_path " -X $extra \
212
- -R ' Accel.SaveAsMerged: "Ctrl-S" ' \
213
- -R ' Accel.Search: "Ctrl+F" ' \
214
- -R ' Accel.SearchForward: "Ctrl-G" ' \
215
- --merged-file " $MERGED " \
216
- " $LOCAL " " $REMOTE "
198
+ ( " $merge_tool_path " --auto \
199
+ --L1 " $MERGED (Local) " \
200
+ --L2 " $MERGED (Remote) " \
201
+ -o " $MERGED " \
202
+ " $LOCAL " " $REMOTE " \
203
+ > /dev/null 2>&1 )
217
204
fi
205
+ status=$?
206
+ else
207
+ (" $merge_tool_path " --auto \
208
+ --L1 " $MERGED (A)" \
209
+ --L2 " $MERGED (B)" " $LOCAL " " $REMOTE " \
210
+ > /dev/null 2>&1 )
211
+ fi
212
+ ;;
213
+ kompare)
214
+ " $merge_tool_path " " $LOCAL " " $REMOTE "
215
+ ;;
216
+ meld)
217
+ if merge_mode; then
218
+ touch " $BACKUP "
219
+ " $merge_tool_path " " $LOCAL " " $MERGED " " $REMOTE "
218
220
check_unchanged
219
221
else
220
- " $merge_tool_path " \
221
- -R ' Accel.Search: "Ctrl+F"' \
222
- -R ' Accel.SearchForward: "Ctrl-G"' \
223
- " $LOCAL " " $REMOTE "
222
+ " $merge_tool_path " " $LOCAL " " $REMOTE "
224
223
fi
225
224
;;
226
225
opendiff)
@@ -239,39 +238,31 @@ run_merge_tool () {
239
238
" $merge_tool_path " " $LOCAL " " $REMOTE " | cat
240
239
fi
241
240
;;
242
- ecmerge )
241
+ p4merge )
243
242
if merge_mode; then
244
- touch " $BACKUP "
243
+ touch " $BACKUP "
245
244
if $base_present ; then
246
- " $merge_tool_path " " $BASE " " $LOCAL " " $REMOTE " \
247
- --default --mode=merge3 --to=" $MERGED "
245
+ " $merge_tool_path " " $BASE " " $LOCAL " " $REMOTE " " $MERGED "
248
246
else
249
- " $merge_tool_path " " $LOCAL " " $REMOTE " \
250
- --default --mode=merge2 --to=" $MERGED "
247
+ " $merge_tool_path " " $LOCAL " " $LOCAL " " $REMOTE " " $MERGED "
251
248
fi
252
249
check_unchanged
253
250
else
254
- " $merge_tool_path " --default --mode=diff2 \
255
- " $LOCAL " " $REMOTE "
251
+ " $merge_tool_path " " $LOCAL " " $REMOTE "
256
252
fi
257
253
;;
258
- emerge )
254
+ tkdiff )
259
255
if merge_mode; then
260
256
if $base_present ; then
261
- " $merge_tool_path " \
262
- -f emerge-files-with-ancestor-command \
263
- " $LOCAL " " $REMOTE " " $BASE " \
264
- " $( basename " $MERGED " ) "
257
+ " $merge_tool_path " -a " $BASE " \
258
+ -o " $MERGED " " $LOCAL " " $REMOTE "
265
259
else
266
260
" $merge_tool_path " \
267
- -f emerge-files-command \
268
- " $LOCAL " " $REMOTE " \
269
- " $( basename " $MERGED " ) "
261
+ -o " $MERGED " " $LOCAL " " $REMOTE "
270
262
fi
271
263
status=$?
272
264
else
273
- " $merge_tool_path " -f emerge-files-command \
274
- " $LOCAL " " $REMOTE "
265
+ " $merge_tool_path " " $LOCAL " " $REMOTE "
275
266
fi
276
267
;;
277
268
tortoisemerge)
@@ -286,22 +277,30 @@ run_merge_tool () {
286
277
status=1
287
278
fi
288
279
;;
289
- araxis )
280
+ xxdiff )
290
281
if merge_mode; then
291
282
touch " $BACKUP "
292
283
if $base_present ; then
293
- " $merge_tool_path " -wait -merge -3 -a1 \
294
- " $BASE " " $LOCAL " " $REMOTE " " $MERGED " \
295
- > /dev/null 2>&1
284
+ " $merge_tool_path " -X --show-merged-pane \
285
+ -R ' Accel.SaveAsMerged: "Ctrl-S"' \
286
+ -R ' Accel.Search: "Ctrl+F"' \
287
+ -R ' Accel.SearchForward: "Ctrl-G"' \
288
+ --merged-file " $MERGED " \
289
+ " $LOCAL " " $BASE " " $REMOTE "
296
290
else
297
- " $merge_tool_path " -wait -2 \
298
- " $LOCAL " " $REMOTE " " $MERGED " \
299
- > /dev/null 2>&1
291
+ " $merge_tool_path " -X $extra \
292
+ -R ' Accel.SaveAsMerged: "Ctrl-S"' \
293
+ -R ' Accel.Search: "Ctrl+F"' \
294
+ -R ' Accel.SearchForward: "Ctrl-G"' \
295
+ --merged-file " $MERGED " \
296
+ " $LOCAL " " $REMOTE "
300
297
fi
301
298
check_unchanged
302
299
else
303
- " $merge_tool_path " -wait -2 " $LOCAL " " $REMOTE " \
304
- > /dev/null 2>&1
300
+ " $merge_tool_path " \
301
+ -R ' Accel.Search: "Ctrl+F"' \
302
+ -R ' Accel.SearchForward: "Ctrl-G"' \
303
+ " $LOCAL " " $REMOTE "
305
304
fi
306
305
;;
307
306
* )
0 commit comments