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 B65F3429E26 for ; Thu, 6 Oct 2011 07:21:54 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -2.3 X-Spam-Level: X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled 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 8hmP4q9nNL3E for ; Thu, 6 Oct 2011 07:21:54 -0700 (PDT) X-Greylist: delayed 3601 seconds by postgrey-1.32 at olra; Thu, 06 Oct 2011 07:21:54 PDT Received: from ipex1.johnshopkins.edu (ipex1.johnshopkins.edu [162.129.8.141]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 02947431FD0 for ; Thu, 6 Oct 2011 07:21:53 -0700 (PDT) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap0EAJiqjU4KoSAO/2dsb2JhbABEqTOBUwEBBTpPCxgJJQ8BHCsGARK2C4kBhywEk26RYg X-IronPort-AV: E=Sophos;i="4.68,496,1312171200"; d="scan'208";a="98213238" Received: from watt.hwcampus.jhu.edu ([10.161.32.14]) by ipex1.johnshopkins.edu with ESMTP/TLS/ADH-AES256-SHA; 06 Oct 2011 09:21:48 -0400 Received: by watt.hwcampus.jhu.edu (Postfix, from userid 502) id 9C779A3BBB9; Thu, 6 Oct 2011 09:21:48 -0400 (EDT) From: Jesse Rosenthal To: David Bremner , Jameson Graef Rollins , Notmuch Mail Subject: Re: tag sharing In-Reply-To: <87wrcijn1w.fsf@zancas.localnet> References: <1306619520-25730-1-git-send-email-jrollins@finestructure.net> <87hb8eebdi.fsf@servo.factory.finestructure.net> <87pqmyn224.fsf@servo.factory.finestructure.net> <87zklyjshd.fsf@yoom.home.cworth.org> <87sjrng5k3.fsf@servo.factory.finestructure.net> <87oc2bjgrs.fsf@yoom.home.cworth.org> <8762oigc0y.fsf@servo.factory.finestructure.net> <87boya98sf.fsf@gogo.home> <87vcwg2p2m.fsf@servo.factory.finestructure.net> <87wrcijn1w.fsf@zancas.localnet> User-Agent: Notmuch/unknown (http://notmuchmail.org) Emacs/23.2.1 (x86_64-apple-darwin) Date: Thu, 06 Oct 2011 09:21:48 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: Thu, 06 Oct 2011 14:21:54 -0000 On Thu, 06 Oct 2011 09:56:43 -0300, David Bremner wrote: > Jesse, do you remember why you decided to roll your own? Only reason I can remember (a year and a half later) of is that it seemed like the basic illustration of concept would be a saturday morning's project. In retrospect, I think the main issue was that I was trying to figure out how history would be kept. By using git, though, your idea would be that we get history for free, right? I think my format was: 12345 foo@bar to-fix 13456 bar@foo feature-request But using git would get us timestamps for free too, I guess. And if we get rid of timestamps, then we just have dumps. So what we would really just need is a thin namespacing layer in some scripting language on top of git? I.e., all we need something to just keep different dumps in different namespaces, so that when I pull your dump, the tags come in as `bremner/to-fix` (or whatever our separator is), and then when I dump all `bremner` tags, it removes the namespace and puts it in `bremner.tagfile`. One rather obvious thing that I discovered: processing dumps and restores from the ui is pretty slow, because you have to output a huge file, and then find the tags in your preferred namespace. So using either the library or the bindings would probably speed things up quite a bit, by only dumping the tags you care about. Which means it couldn't just be a shell script: it would have to be c/ruby/python. Best, Jesse