[notmuch] Mail in git
Stewart Smith
stewart at flamingspork.com
Wed Feb 17 15:56:53 PST 2010
On Wed, 17 Feb 2010 14:21:01 +1300, martin f krafft <madduck at madduck.net> wrote:
> What I am wondering is if (explicit) tags couldn't be represented as
> tree-objects with this.
>
> evenless-link — link a message object with a tree object
> evenless–unlink – unlink a message object from tree object
> [replaces evenless-unlink]
I think it could get expensive for tags with lots of messages.
With my fast-import script, doing the commit (that
referenced... umm.. 800,000+ objects took a *very* long time).
As far as I understand it, the tree object is stored in full and space
is only reclaimed during repack (due to delta compression).
So if you, say, had the entire history of a high volume list such as
linux-kernel, adding messages could get rather expensive if you
auto-tagged (or autotagged messages with patches or whatever).
> messages would then be deleted whenever using git-gc.
>
> No idea how this would sync if we don't keep ancestry. Otoh, it
> would probably not be very expensive to do just that.
If we keep ancestry though, we are reusing existing working code for
backup (git-pull :)
Keep in mind that with my tests, the Maildir in git is about a quarter
to a fifth of the size of it in Maildir... so a bit of extra usage per
message isn't as dramatic as it may sound.
> Is it possible to find out all trees that reference a given object
> with Git in constant or sub-linear time?
I don't think so.... but I'm not sure.
--
Stewart Smith
More information about the notmuch
mailing list