Skip to content

Commit aa03f60

Browse files
sschuberthgitster
authored andcommitted
mergetool--lib: Sort tools alphabetically for easier lookup
Signed-off-by: Sebastian Schuberth <[email protected]> Tested-by: Chris Packham <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 046613c commit aa03f60

File tree

4 files changed

+117
-118
lines changed

4 files changed

+117
-118
lines changed

Documentation/git-difftool.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ OPTIONS
3131
--tool=<tool>::
3232
Use the diff tool specified by <tool>.
3333
Valid merge tools are:
34-
kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
35-
ecmerge, diffuse, opendiff, p4merge and araxis.
34+
araxis, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
35+
kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
3636
+
3737
If a diff tool is not specified, 'git difftool'
3838
will use the configuration variable `diff.tool`. If the

Documentation/git-mergetool.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ OPTIONS
2626
--tool=<tool>::
2727
Use the merge resolution program specified by <tool>.
2828
Valid merge tools are:
29-
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
30-
diffuse, tortoisemerge, opendiff, p4merge and araxis.
29+
araxis, diffuse, ecmerge, emerge, gvimdiff, kdiff3,
30+
meld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.
3131
+
3232
If a merge resolution program is not specified, 'git mergetool'
3333
will use the configuration variable `merge.tool`. If the

Documentation/merge-config.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ merge.stat::
3333

3434
merge.tool::
3535
Controls which merge resolution program is used by
36-
linkgit:git-mergetool[1]. Valid built-in values are: "kdiff3",
37-
"tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
38-
"diffuse", "ecmerge", "tortoisemerge", "p4merge", "araxis" and
39-
"opendiff". Any other value is treated is custom merge tool
36+
linkgit:git-mergetool[1]. Valid built-in values are: "araxis",
37+
"diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
38+
"opendiff", "p4merge", "tkdiff", "tortoisemerge", "vimdiff"
39+
and "xxdiff". Any other value is treated is custom merge tool
4040
and there must be a corresponding mergetool.<tool>.cmd option.
4141

4242
merge.verbosity::

git-mergetool--lib.sh

Lines changed: 109 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ merge_mode() {
1010

1111
translate_merge_tool_path () {
1212
case "$1" in
13-
vimdiff|vimdiff2)
14-
echo vim
15-
;;
16-
gvimdiff|gvimdiff2)
17-
echo gvim
13+
araxis)
14+
echo compare
1815
;;
1916
emerge)
2017
echo emacs
2118
;;
22-
araxis)
23-
echo compare
19+
gvimdiff|gvimdiff2)
20+
echo gvim
21+
;;
22+
vimdiff|vimdiff2)
23+
echo vim
2424
;;
2525
*)
2626
echo "$1"
@@ -46,17 +46,16 @@ check_unchanged () {
4646

4747
valid_tool () {
4848
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)
5251
;; # happy
53-
tortoisemerge)
54-
if ! merge_mode; then
52+
kompare)
53+
if ! diff_mode; then
5554
return 1
5655
fi
5756
;;
58-
kompare)
59-
if ! diff_mode; then
57+
tortoisemerge)
58+
if ! merge_mode; then
6059
return 1
6160
fi
6261
;;
@@ -89,88 +88,76 @@ run_merge_tool () {
8988
status=0
9089

9190
case "$1" in
92-
kdiff3)
91+
araxis)
9392
if merge_mode; then
93+
touch "$BACKUP"
9494
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
10298
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
109102
fi
110-
status=$?
103+
check_unchanged
111104
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
116107
fi
117108
;;
118-
kompare)
119-
"$merge_tool_path" "$LOCAL" "$REMOTE"
120-
;;
121-
tkdiff)
109+
diffuse)
122110
if merge_mode; then
111+
touch "$BACKUP"
123112
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
126116
else
127117
"$merge_tool_path" \
128-
-o "$MERGED" "$LOCAL" "$REMOTE"
118+
"$LOCAL" "$MERGED" "$REMOTE" | cat
129119
fi
130-
status=$?
120+
check_unchanged
131121
else
132-
"$merge_tool_path" "$LOCAL" "$REMOTE"
122+
"$merge_tool_path" "$LOCAL" "$REMOTE" | cat
133123
fi
134124
;;
135-
p4merge)
125+
ecmerge)
136126
if merge_mode; then
137-
touch "$BACKUP"
127+
touch "$BACKUP"
138128
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"
140131
else
141-
"$merge_tool_path" "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"
132+
"$merge_tool_path" "$LOCAL" "$REMOTE" \
133+
--default --mode=merge2 --to="$MERGED"
142134
fi
143135
check_unchanged
144136
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"
155139
fi
156140
;;
157-
diffuse)
141+
emerge)
158142
if merge_mode; then
159-
touch "$BACKUP"
160143
if $base_present; then
161144
"$merge_tool_path" \
162-
"$LOCAL" "$MERGED" "$REMOTE" \
163-
"$BASE" | cat
145+
-f emerge-files-with-ancestor-command \
146+
"$LOCAL" "$REMOTE" "$BASE" \
147+
"$(basename "$MERGED")"
164148
else
165149
"$merge_tool_path" \
166-
"$LOCAL" "$MERGED" "$REMOTE" | cat
150+
-f emerge-files-command \
151+
"$LOCAL" "$REMOTE" \
152+
"$(basename "$MERGED")"
167153
fi
168-
check_unchanged
154+
status=$?
169155
else
170-
"$merge_tool_path" "$LOCAL" "$REMOTE" | cat
156+
"$merge_tool_path" -f emerge-files-command \
157+
"$LOCAL" "$REMOTE"
171158
fi
172159
;;
173-
vimdiff|gvimdiff)
160+
gvimdiff|vimdiff)
174161
if merge_mode; then
175162
touch "$BACKUP"
176163
if $base_present; then
@@ -186,7 +173,7 @@ run_merge_tool () {
186173
"$LOCAL" "$REMOTE"
187174
fi
188175
;;
189-
vimdiff2|gvimdiff2)
176+
gvimdiff2|vimdiff2)
190177
if merge_mode; then
191178
touch "$BACKUP"
192179
"$merge_tool_path" -f -d -c "wincmd l" \
@@ -197,30 +184,42 @@ run_merge_tool () {
197184
"$LOCAL" "$REMOTE"
198185
fi
199186
;;
200-
xxdiff)
187+
kdiff3)
201188
if merge_mode; then
202-
touch "$BACKUP"
203189
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)
210197
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)
217204
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"
218220
check_unchanged
219221
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"
224223
fi
225224
;;
226225
opendiff)
@@ -239,39 +238,31 @@ run_merge_tool () {
239238
"$merge_tool_path" "$LOCAL" "$REMOTE" | cat
240239
fi
241240
;;
242-
ecmerge)
241+
p4merge)
243242
if merge_mode; then
244-
touch "$BACKUP"
243+
touch "$BACKUP"
245244
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"
248246
else
249-
"$merge_tool_path" "$LOCAL" "$REMOTE" \
250-
--default --mode=merge2 --to="$MERGED"
247+
"$merge_tool_path" "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"
251248
fi
252249
check_unchanged
253250
else
254-
"$merge_tool_path" --default --mode=diff2 \
255-
"$LOCAL" "$REMOTE"
251+
"$merge_tool_path" "$LOCAL" "$REMOTE"
256252
fi
257253
;;
258-
emerge)
254+
tkdiff)
259255
if merge_mode; then
260256
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"
265259
else
266260
"$merge_tool_path" \
267-
-f emerge-files-command \
268-
"$LOCAL" "$REMOTE" \
269-
"$(basename "$MERGED")"
261+
-o "$MERGED" "$LOCAL" "$REMOTE"
270262
fi
271263
status=$?
272264
else
273-
"$merge_tool_path" -f emerge-files-command \
274-
"$LOCAL" "$REMOTE"
265+
"$merge_tool_path" "$LOCAL" "$REMOTE"
275266
fi
276267
;;
277268
tortoisemerge)
@@ -286,22 +277,30 @@ run_merge_tool () {
286277
status=1
287278
fi
288279
;;
289-
araxis)
280+
xxdiff)
290281
if merge_mode; then
291282
touch "$BACKUP"
292283
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"
296290
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"
300297
fi
301298
check_unchanged
302299
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"
305304
fi
306305
;;
307306
*)

0 commit comments

Comments
 (0)