зеркало из https://github.com/microsoft/git.git
Merge branch 'js/vimdiff-quotepath-fix'
Variable quoting fix in the vimdiff driver of "git mergetool" * js/vimdiff-quotepath-fix: mergetool(vimdiff): allow paths to contain spaces again
This commit is contained in:
Коммит
4483ea9a01
|
@ -414,8 +414,8 @@ merge_cmd () {
|
|||
|
||||
if $base_present
|
||||
then
|
||||
eval "$merge_tool_path" \
|
||||
-f "$FINAL_CMD" "$LOCAL" "$BASE" "$REMOTE" "$MERGED"
|
||||
eval '"$merge_tool_path"' \
|
||||
-f "$FINAL_CMD" '"$LOCAL"' '"$BASE"' '"$REMOTE"' '"$MERGED"'
|
||||
else
|
||||
# If there is no BASE (example: a merge conflict in a new file
|
||||
# with the same name created in both braches which didn't exist
|
||||
|
@ -424,8 +424,8 @@ merge_cmd () {
|
|||
FINAL_CMD=$(echo "$FINAL_CMD" | \
|
||||
sed -e 's:2b:quit:g' -e 's:3b:2b:g' -e 's:4b:3b:g')
|
||||
|
||||
eval "$merge_tool_path" \
|
||||
-f "$FINAL_CMD" "$LOCAL" "$REMOTE" "$MERGED"
|
||||
eval '"$merge_tool_path"' \
|
||||
-f "$FINAL_CMD" '"$LOCAL"' '"$REMOTE"' '"$MERGED"'
|
||||
fi
|
||||
|
||||
ret="$?"
|
||||
|
@ -614,6 +614,37 @@ run_unit_tests () {
|
|||
fi
|
||||
done
|
||||
|
||||
# verify that `merge_cmd` handles paths with spaces
|
||||
record_parameters () {
|
||||
>actual
|
||||
for arg
|
||||
do
|
||||
echo "$arg" >>actual
|
||||
done
|
||||
}
|
||||
|
||||
base_present=false
|
||||
LOCAL='lo cal'
|
||||
BASE='ba se'
|
||||
REMOTE="' '"
|
||||
MERGED='mer ged'
|
||||
merge_tool_path=record_parameters
|
||||
|
||||
merge_cmd vimdiff || at_least_one_ko=true
|
||||
|
||||
cat >expect <<-\EOF
|
||||
-f
|
||||
-c
|
||||
echo | leftabove split | leftabove vertical split | 1b | wincmd l | leftabove vertical split | quit | wincmd l | 2b | wincmd j | 3b | tabdo windo diffthis
|
||||
-c
|
||||
tabfirst
|
||||
lo cal
|
||||
' '
|
||||
mer ged
|
||||
EOF
|
||||
|
||||
diff -u expect actual || at_least_one_ko=true
|
||||
|
||||
if test "$at_least_one_ko" = "true"
|
||||
then
|
||||
return 255
|
||||
|
|
Загрузка…
Ссылка в новой задаче