diff options
author | Junio C Hamano <junkio@cox.net> | 2005-11-08 02:00:31 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-09 18:56:29 -0800 |
commit | a1c292958f9968565f4048a17196d99fd16fc7ca (patch) | |
tree | 6466c53ae80cddbb581c5fdb2332f9321fade867 | |
parent | Use 'merge-base --all' where applicable. (diff) | |
download | tgif-a1c292958f9968565f4048a17196d99fd16fc7ca.tar.xz |
Make git-recursive the default strategy for git-pull.
This does two things:
- It changes the hardcoded default merge strategy for two-head
git-pull from resolve to recursive.
- .git/config file acquires two configuration items.
pull.twohead names the strategy for two-head case, and
pull.octopus names the strategy for octopus merge.
IOW you are paranoid, you can have the following lines in your
.git/config file and keep using git-merge-resolve when pulling
one remote:
[pull]
twohead = resolve
OTOH, you can say this:
[pull]
twohead = resolve
twohead = recursive
to try quicker resolve first, and when it fails, fall back to
recursive.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-x | git-pull.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/git-pull.sh b/git-pull.sh index 2358af62d5..3b875ad438 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -79,10 +79,22 @@ case "$merge_head" in exit 0 ;; ?*' '?*) - strategy_default_args='-s octopus' + var=`git-var -l | sed -ne 's/^pull\.octopus=/-s /p'` + if test '' = "$var" + then + strategy_default_args='-s octopus' + else + strategy_default_args=$var + fi ;; *) - strategy_default_args='-s resolve' + var=`git-var -l | sed -ne 's/^pull\.twohead=/-s /p'` + if test '' = "$var" + then + strategy_default_args='-s recursive' + else + strategy_default_args=$var + fi ;; esac |