From: Daniel Kahn Gillmor Date: Tue, 12 Apr 2016 01:29:54 +0000 (+2000) Subject: Re: thread merge/split proposal X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2d7b42db1d3a3a86b9e0c1e6bad9a7ff47aea1cf;p=notmuch-archives.git Re: thread merge/split proposal --- diff --git a/a2/0758063525b25163f2e8c87a3cf2b2ef676259 b/a2/0758063525b25163f2e8c87a3cf2b2ef676259 new file mode 100644 index 000000000..d737f57a0 --- /dev/null +++ b/a2/0758063525b25163f2e8c87a3cf2b2ef676259 @@ -0,0 +1,96 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by arlo.cworth.org (Postfix) with ESMTP id F0C2A6DE012F + for ; Mon, 11 Apr 2016 18:30:04 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at cworth.org +X-Spam-Flag: NO +X-Spam-Score: -0.019 +X-Spam-Level: +X-Spam-Status: No, score=-0.019 tagged_above=-999 required=5 + tests=[AWL=-0.019] autolearn=disabled +Received: from arlo.cworth.org ([127.0.0.1]) + by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id aIuQcet-_0x3 for ; + Mon, 11 Apr 2016 18:29:56 -0700 (PDT) +Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) + by arlo.cworth.org (Postfix) with ESMTP id 7CFB06DE0159 + for ; Mon, 11 Apr 2016 18:29:56 -0700 (PDT) +Received: from fifthhorseman.net (unknown [38.109.115.130]) + by che.mayfirst.org (Postfix) with ESMTPSA id 4CBEDF991; + Mon, 11 Apr 2016 21:29:55 -0400 (EDT) +Received: by fifthhorseman.net (Postfix, from userid 1000) + id F22D820072; Mon, 11 Apr 2016 21:29:54 -0400 (EDT) +From: Daniel Kahn Gillmor +To: David Bremner , Notmuch Mail +Subject: Re: thread merge/split proposal +In-Reply-To: <8737qr7ig6.fsf@zancas.localnet> +References: <87mvp9uwi4.fsf@alice.fifthhorseman.net> + <87k2kdutao.fsf@alice.fifthhorseman.net> <878u0l8uyv.fsf@zancas.localnet> + <87egabu5ta.fsf@alice.fifthhorseman.net> <8737qr7ig6.fsf@zancas.localnet> +User-Agent: Notmuch/0.21+124~gbf604e9 (http://notmuchmail.org) Emacs/24.5.1 + (x86_64-pc-linux-gnu) +Date: Mon, 11 Apr 2016 21:29:54 -0400 +Message-ID: <87d1pvsjfx.fsf@alice.fifthhorseman.net> +MIME-Version: 1.0 +Content-Type: text/plain +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.20 +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: Tue, 12 Apr 2016 01:30:05 -0000 + +On Mon 2016-04-11 20:56:57 -0400, David Bremner wrote: +> Daniel Kahn Gillmor writes: +> +>> I'm not sure what you mean by "signed" here (cryptographically signed? +>> a term named "signed"? the idea that the term could be either positive +>> or negative?), but i think your proposal is that we could have a +>> "reference" term with a value of "+foo@example.com" or +>> "-foo@example.com", instead of having a "join" term with value +>> "foo@example.com" and a "split" term with value "foo@example.com" +> +> I was thinking mostly in terms of the UI. I think +> +> % notmuch reference +id1 -id2 $QUERY +> +> goes well with the tag interface. + +I see, yeah, that makes sense. + +That still doesn't cover the "notmuch unjoin" semantics i'd sketched out +earlier, though. that might need to be a different use case. + +The semantics would be something like: + + break the selected threads into threads based solely on their + References headers (including any manual reference terms) using + connected component analysis, restoring the threading to what would be + produced on a clean import. + +maybe "unjoin" is the wrong verb, but i'm open to suggestions. + +> I'm a bit worried about UI proliferation with notmuch-join, +> notmuch-unjoin now and maybe notmuch-split, notmuch-unsplit later. I'd +> be fine with a more generic command with parts perhaps unimplimented. + +i see, that makes sense. + +> Making things generic in the right way will be less work in the long +> run, I think. For example, if we had thought about more general terms +> attached to a message in the last revision of dump/restore, we'd be done +> now. + +right -- we don't even have any version information in the notmuch dump +file. what's the right way to approach this? + + --dkg