[RFC] change fetch to not fill ghosts

Robert Collins robertc at robertcollins.net
Wed Aug 15 01:12:01 BST 2007


Currently Repository.fetch() fetches (at least) two forms of ghosts:
 - revision ghosts (and all their texts)
 - inventory and text level ghosts (so texts in the knit graph but not
referenced by an inventory are fetched - see bug
https://bugs.launchpad.net/bzr/+bug/121509 which is related to this)

The former is a scaling problem - we look at the entire graph every
time. I'd like to propose changing this to not do that but instead
require an explicit parameter to trigger this. (Alternatively we can do
fancy caching of ghost ids to not look at the whole graph on fetch.
Stopping grabbing ghosts is simpler).

The second is more tricky because of that bug. I believe Aaron found
cases where we do have inconsistent data. However, like with revisions,
considering the entire graph every time scales very badly, because while
some files only have a few commits, others have thousands (e.g.
ChangeLog).

-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/20070815/64beefac/attachment.pgp 


More information about the bazaar mailing list