Remove the use of '--' in merge program invocation
Put a "./" at the beginning of all paths given to the merge program so that filenames beginning with a '-' character don't get interpreted as options. This deals with a problem where kdiff3 can be compiled with or without support for the '--' separator between options and filenames. Signed-off-by: Patrick Higgins <patrick.higgins@cexp.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Patrick Higgins committed
Jun 16, 2008 at 17:33 UTC
641dba49bf819dc5f4874a75b206bc7f51dc14e6
1 file changed
+12
-12
git-mergetool.sh
+12
-12
@@ -141,10 +141,10 @@ merge_file () {
141
fi
142
143
ext="$$$(expr "$MERGED" : '.*\(\.[^/]*\)$')"
144
- BACKUP="$MERGED.BACKUP.$ext"
145
- LOCAL="$MERGED.LOCAL.$ext"
146
- REMOTE="$MERGED.REMOTE.$ext"
147
- BASE="$MERGED.BASE.$ext"
144
+ BACKUP="./$MERGED.BACKUP.$ext"
145
+ LOCAL="./$MERGED.LOCAL.$ext"
146
+ REMOTE="./$MERGED.REMOTE.$ext"
147
+ BASE="./$MERGED.BASE.$ext"
148
149
mv -- "$MERGED" "$BACKUP"
150
cp -- "$BACKUP" "$MERGED"
@@ -183,29 +183,29 @@ merge_file () {
183
kdiff3)
184
if base_present ; then
185
("$merge_tool_path" --auto --L1 "$MERGED (Base)" --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" \
186
- -o "$MERGED" -- "$BASE" "$LOCAL" "$REMOTE" > /dev/null 2>&1)
186
+ -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE" > /dev/null 2>&1)
187
else
188
("$merge_tool_path" --auto --L1 "$MERGED (Local)" --L2 "$MERGED (Remote)" \
189
- -o "$MERGED" -- "$LOCAL" "$REMOTE" > /dev/null 2>&1)
189
+ -o "$MERGED" "$LOCAL" "$REMOTE" > /dev/null 2>&1)
190
fi
191
status=$?
192
;;
193
tkdiff)
194
if base_present ; then
195
- "$merge_tool_path" -a "$BASE" -o "$MERGED" -- "$LOCAL" "$REMOTE"
195
+ "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"
196
else
197
- "$merge_tool_path" -o "$MERGED" -- "$LOCAL" "$REMOTE"
197
+ "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"
198
fi
199
status=$?
200
;;
201
meld|vimdiff)
202
touch "$BACKUP"
203
- "$merge_tool_path" -- "$LOCAL" "$MERGED" "$REMOTE"
203
+ "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"
204
check_unchanged
205
;;
206
gvimdiff)
207
touch "$BACKUP"
208
- "$merge_tool_path" -f -- "$LOCAL" "$MERGED" "$REMOTE"
208
+ "$merge_tool_path" -f "$LOCAL" "$MERGED" "$REMOTE"
209
check_unchanged
210
;;
211
xxdiff)
@@ -215,13 +215,13 @@ merge_file () {
215
-R 'Accel.SaveAsMerged: "Ctrl-S"' \
216
-R 'Accel.Search: "Ctrl+F"' \
217
-R 'Accel.SearchForward: "Ctrl-G"' \
218
- --merged-file "$MERGED" -- "$LOCAL" "$BASE" "$REMOTE"
218
+ --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"
219
else
220
"$merge_tool_path" -X --show-merged-pane \
221
-R 'Accel.SaveAsMerged: "Ctrl-S"' \
222
-R 'Accel.Search: "Ctrl+F"' \
223
-R 'Accel.SearchForward: "Ctrl-G"' \
224
- --merged-file "$MERGED" -- "$LOCAL" "$REMOTE"
224
+ --merged-file "$MERGED" "$LOCAL" "$REMOTE"
225
fi
226
check_unchanged
227
;;