[RFI] Annotations cache & progressive display of annotations

Aaron Bentley aaron at aaronbentley.com
Tue Feb 16 22:52:10 GMT 2010


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

Ian Clatworthy wrote:
> Before I look into it though, I'd like to start from the hard-earned
> knowledge and great ideas of others. I'm sure John, Robert, Vincent and
> others know 10X (well 100X) more than I do in this area. Any deep
> insights, tips or branches I should start from?

When you list people like that, you can easily slight people who feel
they have just as much experience, if not more, than those you
mentioned.  I first provided annotate for bzr, I have long maintained
the first GUI annotation tool, and more recently put effort into
optimizing annotate on packs.

I think an annotation cache is a cracking good idea, and we should
consider making it a per-user cache, rather than a per-repository or
per-branch cache.

If we didn't have an annotation cache, then progressive annotation would
be vital for projects with a lot of history.  However, with an
annotation cache, we only have to generate the annotations once (at
most), and that may be acceptable to end-users.

One reason to continue exploring new-to-old annotation would be our
desire to support shallow branches-- we could stop annotating at the
stacking boundary, either by default with an option.  But it might make
sense to save it until shallow branches are a reality.

If we do implement an incremental API, I think it would make sense to
have one that can return multiple origins for a given line, letting the
UI code decide how to handle lines with multiple introductions.  Another
interesting option would be for the API to return the first origin it
finds, and update it later as it finds more origins.

Whatever API we go with, it would probably make sense to provide a
uniform API on repositories and the annotation cache.

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

iEYEARECAAYFAkt7IZUACgkQ0F+nu1YWqI1HIwCeOMShZmTBFya9DPGvUOh0aa9x
bAwAn0CfU0rruNZOJFJcAsJqMbK8RzXa
=UX5e
-----END PGP SIGNATURE-----



More information about the bazaar mailing list