[MERGE REQUEST] fix fetch when revision

Aaron Bentley aaron.bentley at utoronto.ca
Sat Nov 19 23:02:18 GMT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

So the recent WeaveError bugs triggered by merging hmeland's branch
appear to be caused by Fetcher not being careful enough.  It makes two
incorrect assumptions

1. If a revision requires a previously-unseen text, the revision ID of
that text will be the same as the revision's own ID
2. If a revision in a branch requires a text, that text will be present
in the branch.

The first assumption is violated by ghosts.  Revision X, which is a
descendant of revision Y, may require a text with revision-id Y even if
Y is a ghost.

The second assumption is violated by corrupt branches.

This patch deals with both by querying the weave directly for each
required revision.

If a text revision is missing from the local weave, we attempt to apply
new revisions from the remote weave.  If the remote weave doesn't have
that text revision (e.g. it's corrupt), we throw an exception, to
prevent the local branch from becoming corrupt.

You can merge it from bzr.ab

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDf6750F+nu1YWqI0RArXDAJ0UFUNPIZD8nP8QLpUgn8QP5zYsmQCePR7S
d83X1C1OsTyNOXcDEgUjX0s=
=l9Y8
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fetch-fix.patch
Type: text/x-patch
Size: 2464 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051119/8c69d0ee/attachment.bin 


More information about the bazaar mailing list