Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id C52CB431FBC for ; Wed, 17 Feb 2010 15:56:56 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.715 X-Spam-Level: X-Spam-Status: No, score=-0.715 tagged_above=-999 required=5 tests=[AWL=-0.716, BAYES_50=0.001] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 53Ap7925gMxp for ; Wed, 17 Feb 2010 15:56:56 -0800 (PST) Received: from kaylee.flamingspork.com (kaylee.flamingspork.com [74.207.245.61]) by olra.theworths.org (Postfix) with ESMTP id 25449431FAE for ; Wed, 17 Feb 2010 15:56:56 -0800 (PST) Received: from willster (localhost [127.0.0.1]) by kaylee.flamingspork.com (Postfix) with ESMTPS id 1607E632D; Wed, 17 Feb 2010 23:53:50 +0000 (UTC) Received: by willster (Postfix, from userid 1000) id 31B67106A956; Thu, 18 Feb 2010 10:56:53 +1100 (EST) From: Stewart Smith To: martin f krafft , notmuch@notmuchmail.org In-Reply-To: <20100217012101.GD8249@lapse.rw.madduck.net> References: <20100215002914.GA22402@flamingspork.com> <20100217012101.GD8249@lapse.rw.madduck.net> Date: Thu, 18 Feb 2010 10:56:53 +1100 Message-ID: <87ljerju0q.fsf@willster.local.flamingspork.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [notmuch] Mail in git X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2010 23:56:56 -0000 On Wed, 17 Feb 2010 14:21:01 +1300, martin f krafft w= rote: > What I am wondering is if (explicit) tags couldn't be represented as > tree-objects with this. >=20 > evenless-link =E2=80=94 link a message object with a tree object > evenless=E2=80=93unlink =E2=80=93 unlink a message object from tree obj= ect > [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. >=20 > 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. --=20 Stewart Smith