unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Carl Worth <cworth@cworth.org>
To: David Bremner <bremner@unb.ca>, notmuch@notmuchmail.org
Subject: Re: wish: syncable/immutable threads
Date: Tue, 15 Dec 2009 16:36:04 -0800	[thread overview]
Message-ID: <87ws0n21sb.fsf@yoom.home.cworth.org> (raw)
In-Reply-To: <874onsszgw.fsf@convex-new.cs.unb.ca>

[-- Attachment #1: Type: text/plain, Size: 2121 bytes --]

On Tue, 15 Dec 2009 17:23:59 -0400, David Bremner <bremner@unb.ca> wrote:
> I then try to visit these threads on a different machine, but of course
> that thread id doesn't exist there, since the database was reindexed and
> tags reimported.

Ah, good point.

I've wanted reproducible thread IDs also for a similar reason. I
anticipate writing a tool to create HTML versions of the archives of
mailing lists. In this case I want to have thread IDs in URLs and I want
those URLs to be persistent even if I re-build the index from scratch.
(For this case, I'd also like to have small thread IDs, such as
consecutive integers.)

> I don't know if it is in any way practical, but it would be nice from my
> point of view if thread id's were a property of the mail collection, or
> at least it was possible to dump and restore them.

I think it's quite practical. The easiest answer is probably to simply
include the thread ID in each line of the dump output. And then we
should ensure that thread IDs as well as tags are accounted for in the
design of any synchronization mechanism to support multiple notmuch
databases. One thing to consider is whether we want to continue to have
any amount of compatibility with the sup dump format

> If this is too much of a corner case, then I suspect I can work around
> it in the emacs client by calling search twice, first with an id in the
> thread.

That's almost similar to what sup does, which is to use a message ID of
a the first message encoutered in a thread as the thread ID. Doing that
alone doesn't help with the case of rebuilding the index on separate
machines since it makes the thread ID dependent on the order in which
messages are processed.

But yes, if you can make your links depend only on message IDs then you
can get reliable results even before we start including thread IDs in
the dump output. The result of "notmuch show --entire-thread id:foo" is
quite similar to the result of "notmuch show thread:bar" (for the
corresponding thread ID of course). It differs only in the "match"
field, which is used to determine which messages to open by default.

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2009-12-16 18:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-15 21:23 wish: syncable/immutable threads David Bremner
2009-12-16  0:36 ` Carl Worth [this message]
2009-12-18  0:20   ` David Bremner
2009-12-18  2:44     ` [PATCH] notmuch-show.c: provide an option --format=message-ids which outputs only ids david

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ws0n21sb.fsf@yoom.home.cworth.org \
    --to=cworth@cworth.org \
    --cc=bremner@unb.ca \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).