@matheusbsbs / matheus-bagliano / commits / 641dba49bf
Fork 0

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 ;;