[Python-Dev] crosses branches?

Sjoerd Mullender sjoerd at acm.org
Tue Mar 22 17:37:23 CET 2011


On 2011-03-22 15:11, skip at pobox.com wrote:

I realized I didn't answer this:

> Looking here at the Common Cases section:
> 
>     http://mercurial.selenic.com/wiki/RebaseProject
> 
> I can see how I have now apparently got this situation:
> 
>      C1 --> C2 --> S1
>             \
>              \ --> ... Cn
> 
> (where S1 is my local change and C? are the central changesets)
> 
> Rebase will do this, right?
> 
>      C1 --> C2 --> ... --> Cn --> S1

Yes, that's correct.

> Am I going to have to rebase then every time I re-pull that repository and
> incorporate new upstream changes?  Wouldn't I rather want the chain of
> revisions to look like this after the rebase step?
> 
>      C1 --> C2 --> S1 --> ... --> Cn

I guess you could try to reverse the source and destination changeset
for the rebase, but I think you will get into trouble this way.  What
rebase does, basically, is to remove the changesets being rebased from
the clone and adding them back somewhere else.  But in doing so, the
changeset changes identity.  This means that afterwards when you do a
pull, those moved changesets will be fetched again from the source clone
(they had been removed from yours, so aren't there anymore) and you will
get a similar graph again, but now the S1 will be a list of changesets
instead of the one.

-- 
Sjoerd Mullender

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 371 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-dev/attachments/20110322/f0c72173/attachment.pgp>


More information about the Python-Dev mailing list