thread merge/split proposal

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Apr 4 10:14:27 PDT 2016


Some people i communicate with regularly break threads when
replying. This is a major pain.  I'd like to be able to tell notmuch
(perhaps programmatically) how to connect these threads.

I know we've talked about being able to join threads, but no one has
made such a change in notmuch, afaict.  One of the major concerns people
have about joining threads is that the action seems irreversible.

If it were reversible (if it were easy to split a joined thread back
into its original threads), maybe it would be less scary to have a "join
thread" implementation?

i see two ways to do this:

 a) store an "original thread" attribute for each message that has been
    joined, and just reset it when an unjoin is requested

or

 b) when an unjoin is requested, do a graph analysis of every message in
    the thread's In-Reply-To and References headers, and recreate
    distinct threads from the connected components.


the problem with (a) is that once threads are joined, and a new message
is added to the joined thread, it's not clear which it should have as
its "original thread".

So what do folks think about (b)?  If that was implemented, would it be
less-scary to have a "join thread" operation?

From the CLI, it would look something like:

  notmuch join-threads THREAD_A THREAD_B [ THREAD_C ... ]
  notmuch split-thread THREAD_X

What do people think about this approach?

     --dkg

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 948 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20160404/43a7dcb6/attachment.sig>


More information about the notmuch mailing list