commit-performance and iter_changes
Robert Collins
robertc at robertcollins.net
Mon Nov 10 08:18:25 GMT 2008
So, we've wanted to use iter_changes for commit for some time, but its
been tricky, because we calculate merge info on merge commits and that
requires doing more processing of the entire tree.
I think that a moderate shift in interface to be even more delta
orientated in CommitBuilder will allow us to do this sensibly...
I see it working something like this:
- tree to commit builder interface is a delta - iter_changes basically
- on merge commits the commit builder is responsible for comparing the
merged-in-tree with the basis to determine what nodes need
last-changed fields updated
- in xml repositories we can generate a delta (basis, each parent) to
get a set of possibly different entries that we need to consider
- in split-inventories we can parallel-diff all the inventories at once
to achieve the same;
We can likely also optimise by looking for V shape differences only
during this phase.
-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: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081110/c58fae5e/attachment.pgp
More information about the bazaar
mailing list