mergetool--lib: Sort tools alphabetically for easier lookup
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Tested-by: Chris Packham <judge.packham@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Schuberth committed
Feb 27, 2011 at 12:31 UTC
aa03f60463129194d328035f9974be4fa951dd44
4 files changed
+117
-118
Documentation/git-difftool.txt
+2
-2
@@ -31,8 +31,8 @@ OPTIONS
31
--tool=<tool>::
32
Use the diff tool specified by <tool>.
33
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.
36
+
37
If a diff tool is not specified, 'git difftool'
38
will use the configuration variable `diff.tool`. If the
Documentation/git-mergetool.txt
+2
-2
@@ -26,8 +26,8 @@ OPTIONS
26
--tool=<tool>::
27
Use the merge resolution program specified by <tool>.
28
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.
31
+
32
If a merge resolution program is not specified, 'git mergetool'
33
will use the configuration variable `merge.tool`. If the
Documentation/merge-config.txt
+4
-4
@@ -33,10 +33,10 @@ merge.stat::
33
34
merge.tool::
35
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
40
and there must be a corresponding mergetool.<tool>.cmd option.
41
42
merge.verbosity::
git-mergetool--lib.sh
+109
-110
@@ -10,17 +10,17 @@ merge_mode() {
10
11
translate_merge_tool_path () {
12
case "$1" in
13
- vimdiff|vimdiff2)
14
- echo vim
15
- ;;
16
- gvimdiff|gvimdiff2)
17
- echo gvim
13
+ araxis)
14
+ echo compare
15
;;
16
emerge)
17
echo emacs
18
;;
22
- araxis)
23
- echo compare
19
+ gvimdiff|gvimdiff2)
20
+ echo gvim
21
+ ;;
22
+ vimdiff|vimdiff2)
23
+ echo vim
24
;;
25
*)
26
echo "$1"
@@ -46,17 +46,16 @@ check_unchanged () {
46
47
valid_tool () {
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)
51
;; # happy
53
- tortoisemerge)
54
- if ! merge_mode; then
52
+ kompare)
53
+ if ! diff_mode; then
54
return 1
55
fi
56
;;
58
- kompare)
59
- if ! diff_mode; then
57
+ tortoisemerge)
58
+ if ! merge_mode; then
59
return 1
60
fi
61
;;
@@ -89,88 +88,76 @@ run_merge_tool () {
88
status=0
89
90
case "$1" in
92
- kdiff3)
91
+ araxis)
92
if merge_mode; then
93
+ touch "$BACKUP"
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
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
102
fi
110
- status=$?
103
+ check_unchanged
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
107
fi
108
;;
118
- kompare)
119
- "$merge_tool_path" "$LOCAL" "$REMOTE"
120
- ;;
121
- tkdiff)
109
+ diffuse)
110
if merge_mode; then
111
+ touch "$BACKUP"
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
116
else
117
"$merge_tool_path" \
128
- -o "$MERGED" "$LOCAL" "$REMOTE"
118
+ "$LOCAL" "$MERGED" "$REMOTE" | cat
119
fi
130
- status=$?
120
+ check_unchanged
121
else
132
- "$merge_tool_path" "$LOCAL" "$REMOTE"
122
+ "$merge_tool_path" "$LOCAL" "$REMOTE" | cat
123
fi
124
;;
135
- p4merge)
125
+ ecmerge)
126
if merge_mode; then
137
- touch "$BACKUP"
127
+ touch "$BACKUP"
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"
131
else
141
- "$merge_tool_path" "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"
132
+ "$merge_tool_path" "$LOCAL" "$REMOTE" \
133
+ --default --mode=merge2 --to="$MERGED"
134
fi
135
check_unchanged
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"
139
fi
140
;;
157
- diffuse)
141
+ emerge)
142
if merge_mode; then
159
- touch "$BACKUP"
143
if $base_present; then
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")"
148
else
149
"$merge_tool_path" \
166
- "$LOCAL" "$MERGED" "$REMOTE" | cat
150
+ -f emerge-files-command \
151
+ "$LOCAL" "$REMOTE" \
152
+ "$(basename "$MERGED")"
153
fi
168
- check_unchanged
154
+ status=$?
155
else
170
- "$merge_tool_path" "$LOCAL" "$REMOTE" | cat
156
+ "$merge_tool_path" -f emerge-files-command \
157
+ "$LOCAL" "$REMOTE"
158
fi
159
;;
173
- vimdiff|gvimdiff)
160
+ gvimdiff|vimdiff)
161
if merge_mode; then
162
touch "$BACKUP"
163
if $base_present; then
@@ -186,7 +173,7 @@ run_merge_tool () {
173
"$LOCAL" "$REMOTE"
174
fi
175
;;
189
- vimdiff2|gvimdiff2)
176
+ gvimdiff2|vimdiff2)
177
if merge_mode; then
178
touch "$BACKUP"
179
"$merge_tool_path" -f -d -c "wincmd l" \
@@ -197,30 +184,42 @@ run_merge_tool () {
184
"$LOCAL" "$REMOTE"
185
fi
186
;;
200
- xxdiff)
187
+ kdiff3)
188
if merge_mode; then
202
- touch "$BACKUP"
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)
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)
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"
220
check_unchanged
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"
223
fi
224
;;
225
opendiff)
@@ -239,39 +238,31 @@ run_merge_tool () {
238
"$merge_tool_path" "$LOCAL" "$REMOTE" | cat
239
fi
240
;;
242
- ecmerge)
241
+ p4merge)
242
if merge_mode; then
244
- touch "$BACKUP"
243
+ touch "$BACKUP"
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"
246
else
249
- "$merge_tool_path" "$LOCAL" "$REMOTE" \
250
- --default --mode=merge2 --to="$MERGED"
247
+ "$merge_tool_path" "$LOCAL" "$LOCAL" "$REMOTE" "$MERGED"
248
fi
249
check_unchanged
250
else
254
- "$merge_tool_path" --default --mode=diff2 \
255
- "$LOCAL" "$REMOTE"
251
+ "$merge_tool_path" "$LOCAL" "$REMOTE"
252
fi
253
;;
258
- emerge)
254
+ tkdiff)
255
if merge_mode; then
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"
259
else
260
"$merge_tool_path" \
267
- -f emerge-files-command \
268
- "$LOCAL" "$REMOTE" \
269
- "$(basename "$MERGED")"
261
+ -o "$MERGED" "$LOCAL" "$REMOTE"
262
fi
263
status=$?
264
else
273
- "$merge_tool_path" -f emerge-files-command \
274
- "$LOCAL" "$REMOTE"
265
+ "$merge_tool_path" "$LOCAL" "$REMOTE"
266
fi
267
;;
268
tortoisemerge)
@@ -286,22 +277,30 @@ run_merge_tool () {
277
status=1
278
fi
279
;;
289
- araxis)
280
+ xxdiff)
281
if merge_mode; then
282
touch "$BACKUP"
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"
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"
297
fi
298
check_unchanged
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"
304
fi
305
;;
306
*)