[RFC] merge - common_ancestor generation

Robert Collins robertc at robertcollins.net
Tue Feb 28 03:31:14 GMT 2006


I'd like to alter common_ancestor generation via changing combined_graph
to use the weave prelude of each repository rather than reading the
revision files: except in the presence of ghosts the information will be
identical with the proposed consistency check I've put forward in my
reconcile branch.

Specifically:
For remerge this will avoid a read of every revision in the repository.

For find_merge_base it will avoid reading all the local revisions and
the unique remote ones - which will sometimes be cheaper, sometimes not,
but may give a further back revision than strictly required.

For merge it will avoid an additional read of all the revisions in the
repository - and as merge does a fetch, it will have entirely correct
ancestry data anyway with the fetch-consistency fix.

For the ancestor: namespace it will behave like find_merge_base.

Note that in knits if we have explicit ghost indexing the history will
be correct in every case always.

Also, we should delete old_common_ancestor I think.

Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060228/8005e4eb/attachment.pgp 


More information about the bazaar mailing list