From: Martin von Zweigbergk Date: Sat, 13 Nov 2010 17:52:06 GMT Subject: Re: [PATCH] Use reflog in 'pull --rebase . foo' Message-ID: In-Reply-To: On Sat, Nov 13, 2010 at 12:20 PM, Santi Béjar wrote: > On Sat, Nov 13, 2010 at 1:09 PM, Martin von Zweigbergk > wrote: >> diff --git a/git-parse-remote.sh b/git-parse-remote.sh >> index 5f47b18..2e1661d 100644 >> --- a/git-parse-remote.sh >> +++ b/git-parse-remote.sh >> @@ -63,11 +63,8 @@ get_default_remote () { >>  get_remote_merge_branch () { >>        case "$#" in >>        0|1) >> -           origin="$1" >> -           default=$(get_default_remote) >> -           test -z "$origin" && origin=$default >>            curr_branch=$(git symbolic-ref -q HEAD) >> -           [ "$origin" = "$default" ] && >> +           test -z "$1" || test "$1" = $(get_default_remote) && >>            echo $(git for-each-ref --format='%(upstream)' $curr_branch) >>            ;; >>        *) > > They are not equivalent, the last line (echo $(git for-each-ref...)) > is always executed, not only when ask for the default remote. When > $origin != $default the last line does not return the correct answer. > It should return nothing, it is not well defined. Or maybe it should > return the branch pointed by $origin/HEAD (I cannot test right now > what 'git pull $remote-not-the-default' merges). > > And it has nothing to do with letting 'pull --rebase . for" work. You are right, of course. I think I was modifying the code to try to understand how it behaved and it should not have been part of the patch. Sorry about that. Junio, will you just exclude that hunk?