Skip to content

Commit

Permalink
pull: Fix parsing of -X<option>
Browse files Browse the repository at this point in the history
As -X parameter can contain arbitrary $IFS characters, we need to
properly quote it from the shell while forming the command line.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
gitster committed Jan 18, 2010
1 parent ee2c795 commit 14e5d40
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions git-pull.sh
Expand Up @@ -68,10 +68,10 @@ do
1,-X)
usage ;;
*,-X)
xx="-X $2"
xx="-X $(git rev-parse --sq-quote "$2")"
shift ;;
*,*)
xx="$1" ;;
xx=$(git rev-parse --sq-quote "$1") ;;
esac
merge_args="$merge_args$xx "
;;
Expand Down Expand Up @@ -228,8 +228,15 @@ then
fi

merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit
test true = "$rebase" &&
exec git-rebase $diffstat $strategy_args $merge_args --onto $merge_head \
${oldremoteref:-$merge_head}
exec git-merge $diffstat $no_commit $squash $no_ff $ff_only $log_arg $strategy_args $merge_args \
"$merge_name" HEAD $merge_head $verbosity
case "$rebase" in
true)
eval="git-rebase $diffstat $strategy_args $merge_args"
eval="$eval --onto $merge_head ${oldremoteref:-$merge_head}"
;;
*)
eval="git-merge $diffstat $no_commit $squash $no_ff $ff_only"
eval="$eval $log_arg $strategy_args $merge_args"
eval="$eval \"$merge_name\" HEAD $merge_head $verbosity"
;;
esac
eval "exec $eval"

0 comments on commit 14e5d40

Please sign in to comment.