negative numbers of revisions pulled ??
John A Meinel
john at arbash-meinel.com
Thu May 11 02:16:15 BST 2006
Joseph Wakeling wrote:
> I have a couple of branches which diverged, then were merged back into
> sync. Of course, the merged-from branch had more revisions recorded
> than the other. Pulling a minor revision to this branch resulted in a
> negative number of revisions being pulled, and the revision history
> being replaced with that of the branch which previously had been merged to.
>
> So, two questions: (1) Why? and more important, (2) some of the merges
> contained many patches and it was useful, in the merged-from branch, to
> have these considered as separate revisions. Now that the pull command
> has overwritten the revision history (I did *not* use --overwrite!), how
> do I get diffs between these individual changes, given that the merge
> lumps them as one big revision?
>
> I've kept the .bzr.backup directories so if restoration would be a good
> option, I can go for it. :-)
>
'pull' converges and starts over with the pulled-from history.
If you want to retain history, you need to use 'merge + commit'.
There are a few reasons based on how history is maintained. We have a
'revision-history' file, but it is meant as more of a cache of history,
than an authoritative list. The history is defined as the primary parent
through all merges. (leftmost-edge).
So when you 'pulled' that last revision, you got its leftmost history.
I hope that helps. I don't know the best way to get back to where you
were. This may work:
cd ..
bzr branch -r revid:revision_id_of_last_independent current new-current
But 'bzr branch' may expect the revision id to be in the leftmost parent
history. (Which is a bug)
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060510/7f1dd7c0/attachment.pgp
More information about the bazaar
mailing list