Ambiguous link fields in revlog entries

David Baum dbaum at google.com
Thu Jul 17 13:50:16 CDT 2008


I was looking at the changelog/manifest/revlog code and believe there is
some ambiguity regarding the link field in an entry's header...

* Alice and Bob both start with identical repositories
* Each performs identical merges locally, but has slightly different
user/date/message information in their own changeset
* Alice then pulls from Bob and gets his merged changeset, but because the
merge was identical, it points to a manifest that Alice already has (in fact
the same manifest used by her own merge changeset).  Now Alice has two
changesets pointing to the same manifest node.

The link field for that manifest node is ambiguous.  Alice will have
recorded it as pointing to her changeset, while Bob will have it pointing to
his changeset.  What are the consequences of this?  Is the only requirement
that the link field point to *some* changeset that uses the manifest?  When
sending a changegroup, does it matter which link field is used?  Am I
missing something?

Thanks,
Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://selenic.com/pipermail/mercurial-devel/attachments/20080717/a657b718/attachment.htm 


More information about the Mercurial-devel mailing list