From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 9E8DE431FBC for ; Thu, 18 Feb 2010 18:10:07 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -2.289 X-Spam-Level: X-Spam-Status: No, score=-2.289 tagged_above=-999 required=5 tests=[AWL=0.310, BAYES_00=-2.599] 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 F7oDq6JWYqbd for ; Thu, 18 Feb 2010 18:10:07 -0800 (PST) Received: from clegg.madduck.net (clegg.madduck.net [193.242.105.96]) by olra.theworths.org (Postfix) with ESMTP id B38AF431FAE for ; Thu, 18 Feb 2010 18:10:06 -0800 (PST) Received: from lapse.rw.madduck.net (koruout.airnz.co.nz [162.112.38.5]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "lapse.rw.madduck.net", Issuer "CAcert Class 3 Root" (verified OK)) by clegg.madduck.net (postfix) with ESMTPS id 550991D409B; Fri, 19 Feb 2010 03:09:55 +0100 (CET) Received: by lapse.rw.madduck.net (Postfix, from userid 1000) id 92E963FE; Fri, 19 Feb 2010 13:31:15 +1300 (NZDT) Date: Fri, 19 Feb 2010 13:31:15 +1300 From: martin f krafft To: Ben Gamari Message-ID: <20100219003115.GB25162@lapse.rw.madduck.net> Mail-Followup-To: Ben Gamari , notmuch References: <20100217235211.GC2628@lapse.rw.madduck.net> <1266453115-sup-7880@ben-laptop> <20100218015847.GB3480@lapse.rw.madduck.net> <1266459453-sup-7234@ben-laptop> <20100218024802.GA795@lapse.rw.madduck.net> <1266463007-sup-8777@ben-laptop> <20100218034613.GD1991@lapse.rw.madduck.net> <1266467977-sup-3504@ben-laptop> <20100218045943.GA6152@lapse.rw.madduck.net> <1266469478-sup-2095@ben-laptop> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-ripemd160; protocol="application/pgp-signature"; boundary="i9LlY+UWpKt15+FH" Content-Disposition: inline In-Reply-To: <1266469478-sup-2095@ben-laptop> X-Motto: Keep the good times rollin' X-OS: Debian GNU/Linux squeeze/sid kernel 2.6.32-1-686 i686 X-Spamtrap: madduck.bogus@madduck.net X-Subliminal-Message: debian/rules! User-Agent: Mutt/1.5.20 (2009-06-14) X-Virus-Scanned: clamav-milter 0.95.3 at clegg X-Virus-Status: Clean Cc: notmuch Subject: Re: nested tag trees (was: 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: Fri, 19 Feb 2010 02:10:07 -0000 --i9LlY+UWpKt15+FH Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable also sprach Ben Gamari [2010.02.18.1810 +1300]: > Yeah, this is a bit of a bummer. This is really a stretch, but I wonder > if the git folks would accept patches/minor database semantics changes > in the name of making git more flexible as a general purpose object > database. I really doubt it, but you never know. I am pretty sure they won't. Git is a content tracker, not a general purpose filesystem. It's a bit of a shame. > > Instead of nested subtrees, think of 16 subtrees forming > > a level-1 hash table, or 256 for level-2, which really *ought* > > to be enough. > >=20 > > Anyway, rewriting a tree object is pretty much exactly the same > > as removing a line (e.g. a message ID) from a file (e.g. a tag), > > as that file would have to be fully rewritten. > >=20 > This is very true, but exactly do you mean by this statement? That any form of tag-to-message mapping will be expensive when you have a million messages referenced. If you used symlinks like mairix does, any manipulation would require changes to the directory index, which =E2=80=94 curiously =E2=80=94 functions much like the subtree approac= h you proposed. --=20 martin | http://madduck.net/ | http://two.sentenc.es/ =20 "the faster i go, the behinder i get." -- lewis carroll =20 spamtraps: madduck.bogus@madduck.net --i9LlY+UWpKt15+FH Content-Type: application/pgp-signature; name="digital_signature_gpg.asc" Content-Description: Digital signature (see http://martin-krafft.net/gpg/) Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEAREDAAYFAkt929MACgkQIgvIgzMMSnXIsgCghP4cLWWgw726uOaD72Be0bsn a+QAoNfuYUWlRQXJLoKTBcCX4ww+VaAK =gDbp -----END PGP SIGNATURE----- --i9LlY+UWpKt15+FH--