git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Santi Béjar" <santi@agolina.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, git@vger.kernel.org
Subject: Re: [PATCHv2 2/2] pull: support rebased upstream + fetch + pull  --rebase
Date: Fri, 17 Jul 2009 01:18:14 +0200	[thread overview]
Message-ID: <adf1fd3d0907161618o61ee4b58of25659f8c36420f7@mail.gmail.com> (raw)
In-Reply-To: <7vhbxc8inp.fsf@alter.siamese.dyndns.org>

2009/7/16 Junio C Hamano <gitster@pobox.com>:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
>> How about
>>
>>       oldremoteref="$(git rev-list --boundary HEAD --not \
>>                       $(git rev-list -g $remoteref | sed 's/$/^@/') |
>>               sed -e '/^[^-]/d' -e q)"
>>
>> Explanation: the "git rev-list -g $remoteref" lists the previous commits
>> the remote ref pointed to, and the ^@ appended to them means all their
>> parents.  Now, the outer rev-list says to take everything in HEAD but
>> _not_ in those parents, showing the boundary commits.  The "sed" call
>> lists the first such boundary commit (which must, by construction, be one
>> of the commits shown by the first rev-list).
>
> Hmm, I am not sure about that "(which must..." part.  When you have
>
>          Y---X
>         /
>        B---o---o---o---H
>
> wouldn't "rev-list --boundary H --not X^@" give B, not X nor Y?
>

$git rev-list --boundary H --not X
and
$git rev-list --boundary H --not X^@

return the same output in this case:
o
o
o
-B

In this case the correct command is without ^@, because you want the
commits in the reflog as boundary commits.

In the simpler and usual case, without a rebased upstream:

    z---B---o---o---o---H

B=upstream@{0}

$git rev-list --boundary H --not B^@
o
o
o
B
-z

and:

$git rev-list --boundary H --not B
o
o
o
-B

Also in the rebased upstream case:

      Y---X
     /
    z---B---o---o---o---H


X=upstream@{0}
B=upstream@{1}

$git rev-list --boundary H --not X^@ B^@
o
o
o
B
-z

and:

$git rev-list --boundary H --not X B
o
o
o
-B

HTH,
Santi

  reply	other threads:[~2009-07-16 23:18 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-16  0:09 [PATCH 1/2] t5520-pull: Test for rebased upstream + fetch + pull --rebase Santi Béjar
2009-07-16  0:09 ` [PATCH 2/2] pull: support " Santi Béjar
2009-07-16  0:26   ` Junio C Hamano
2009-07-16  6:29     ` Santi Béjar
2009-07-16  8:12       ` [PATCHv2 " Santi Béjar
2009-07-16  8:12         ` Santi Béjar
2009-07-16  8:15         ` Santi Béjar
2009-07-16  8:51         ` Johannes Schindelin
2009-07-16 16:32           ` Santi Béjar
2009-07-17 10:13             ` Johannes Schindelin
2009-07-16 20:41           ` Junio C Hamano
2009-07-16 23:18             ` Santi Béjar [this message]
2009-07-17  7:51               ` Santi Béjar
2009-07-17  8:25                 ` Junio C Hamano
2009-07-17 13:24                   ` Santi Béjar
2009-07-18 13:46                     ` [PATCHv3 " Santi Béjar
2009-07-18 17:55                       ` Junio C Hamano
2009-07-19  7:27                         ` Santi Béjar
2009-07-19  7:45                           ` [PATCHv4 " Santi Béjar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=adf1fd3d0907161618o61ee4b58of25659f8c36420f7@mail.gmail.com \
    --to=santi@agolina.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).