diff options
author | Avery Pennarun <apenwarr@gmail.com> | 2009-11-25 21:23:57 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-17 22:45:17 -0800 |
commit | ee2c79552acceaa59a78518c6c084bd515606374 (patch) | |
tree | c8346d5dd29f924fdb136b8a1f55ae46aed641e9 /git-pull.sh | |
parent | 8cc5b29065e19267cbc08b39c34674b02c2e3d59 (diff) | |
download | git-ee2c79552acceaa59a78518c6c084bd515606374.tar.gz |
Teach git-pull to pass -X<option> to git-merge
This needs the usual sq then eval trick to allow IFS characters
in the option.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-pull.sh')
-rwxr-xr-x | git-pull.sh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/git-pull.sh b/git-pull.sh index bfeb4a0ff6..6d961b6995 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -18,6 +18,7 @@ test -z "$(git ls-files -u)" || strategy_args= diffstat= no_commit= squash= no_ff= ff_only= log_arg= verbosity= +merge_args= curr_branch=$(git symbolic-ref -q HEAD) curr_branch_short=$(echo "$curr_branch" | sed "s|refs/heads/||") rebase=$(git config --bool branch.$curr_branch_short.rebase) @@ -62,6 +63,18 @@ do esac strategy_args="${strategy_args}-s $strategy " ;; + -X*) + case "$#,$1" in + 1,-X) + usage ;; + *,-X) + xx="-X $2" + shift ;; + *,*) + xx="$1" ;; + esac + merge_args="$merge_args$xx " + ;; -r|--r|--re|--reb|--reba|--rebas|--rebase) rebase=true ;; @@ -216,7 +229,7 @@ fi merge_name=$(git fmt-merge-msg $log_arg <"$GIT_DIR/FETCH_HEAD") || exit test true = "$rebase" && - exec git-rebase $diffstat $strategy_args --onto $merge_head \ + 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 \ +exec git-merge $diffstat $no_commit $squash $no_ff $ff_only $log_arg $strategy_args $merge_args \ "$merge_name" HEAD $merge_head $verbosity |