Code

pull: support rebased upstream + fetch + pull --rebase
authorSanti Béjar <santi@agolina.net>
Sun, 19 Jul 2009 07:45:16 +0000 (09:45 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 19 Jul 2009 17:29:38 +0000 (10:29 -0700)
commitd44e71261f91d3cc81293e0976bb40daa8abb583
treeafea1b178e05f1bd1e2fb38d62b8691e16261255
parenta418441b4ea2ab69a17636c3020a29394d4c6562
pull: support rebased upstream + fetch + pull --rebase

You cannot do a "git pull --rebase" with a rebased upstream, if you have
already run "git fetch".  Try to behave as if the "git fetch" was not run.

In other words, find the fork point of the current branch, where
the tip of upstream branch used to be, and use it as the upstream
parameter of "git rebase".

This patch computes the fork point by walking the reflog to find the first
commit which is an ancestor of the current branch.  Maybe there are
smarter ways to compute it, but this is a straight forward implementation.

Signed-off-by: Santi Béjar <santi@agolina.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-pull.sh
t/t5520-pull.sh