From: Santi Béjar Date: Sat, 13 Nov 2010 23:10:55 GMT Subject: Re: [PATCH] Use reflog in 'pull --rebase . foo' Message-ID: In-Reply-To: On Sat, Nov 13, 2010 at 6:52 PM, Martin von Zweigbergk wrote: > 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). After thinking (and testing) this again, I see now that I was wrong, the behavior is identical. But I find it more difficult to follow, but maybe it is because I wrote the original. >> >> 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? Better send it again, and add my Ack-by: Santi Béjar Santi