1 Return-Path: <amdragon@mit.edu>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 8CE7F431FAF
\r
6 for <notmuch@notmuchmail.org>; Wed, 6 Aug 2014 10:07:01 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5
\r
12 tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id erLWDMylNGod for <notmuch@notmuchmail.org>;
\r
16 Wed, 6 Aug 2014 10:06:56 -0700 (PDT)
\r
17 Received: from dmz-mailsec-scanner-7.mit.edu (dmz-mailsec-scanner-7.mit.edu
\r
19 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
\r
20 (No client certificate requested)
\r
21 by olra.theworths.org (Postfix) with ESMTPS id 5B566431FAE
\r
22 for <notmuch@notmuchmail.org>; Wed, 6 Aug 2014 10:06:56 -0700 (PDT)
\r
23 X-AuditID: 12074424-f79146d00000067c-7c-53e260af966e
\r
24 Received: from mailhub-auth-2.mit.edu ( [18.7.62.36])
\r
25 (using TLS with cipher AES256-SHA (256/256 bits))
\r
26 (Client did not present a certificate)
\r
27 by dmz-mailsec-scanner-7.mit.edu (Symantec Messaging Gateway) with SMTP
\r
28 id EE.76.01660.FA062E35; Wed, 6 Aug 2014 13:06:55 -0400 (EDT)
\r
29 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])
\r
30 by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id s76H6rw8000480;
\r
31 Wed, 6 Aug 2014 13:06:54 -0400
\r
32 Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])
\r
33 (authenticated bits=0)
\r
34 (User authenticated as amdragon@ATHENA.MIT.EDU)
\r
35 by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id s76H6ovc017161
\r
36 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);
\r
37 Wed, 6 Aug 2014 13:06:52 -0400
\r
38 Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.80)
\r
39 (envelope-from <amdragon@mit.edu>)
\r
40 id 1XF4fq-00051B-60; Wed, 06 Aug 2014 13:06:50 -0400
\r
41 Date: Wed, 6 Aug 2014 13:06:48 -0400
\r
42 From: Austin Clements <amdragon@MIT.EDU>
\r
43 To: Gaute Hope <eg@gaute.vetsj.com>
\r
44 Subject: Re: [PATCH] Add configurable changed tag to messages that have been
\r
46 Message-ID: <20140806170647.GA13893@mit.edu>
\r
47 References: <1396800683-9164-1-git-send-email-eg@gaute.vetsj.com>
\r
48 <87fviiiuzn.fsf@maritornes.cs.unb.ca>
\r
49 <CABKe4Mv6p77i5dBT9BV41hxmtrE4UPLR3NjZfpLuZDoE1KWYyA@mail.gmail.com>
\r
50 <20140801185505.GS13893@mit.edu>
\r
51 <CABKe4MskJk6JuJ29A8o1-U-5Sz-xUCTJXJqvq22PqodGQKRZdw@mail.gmail.com>
\r
53 Content-Type: text/plain; charset=us-ascii
\r
54 Content-Disposition: inline
\r
56 <CABKe4MskJk6JuJ29A8o1-U-5Sz-xUCTJXJqvq22PqodGQKRZdw@mail.gmail.com>
\r
57 User-Agent: Mutt/1.5.21 (2010-09-15)
\r
58 X-Brightmail-Tracker:
\r
59 H4sIAAAAAAAAA+NgFprKKsWRmVeSWpSXmKPExsUixG6nors+4VGwQddxTYsbrd2MFk2fL7Fa
\r
60 XL85k9liX7+/A4vHj3/NbB7PVt1i9pgyay67x5ZD75kDWKK4bFJSczLLUov07RK4Mo48nM5W
\r
61 8Ea0YnnHHcYGxj7BLkYODgkBE4krn0K6GDmBTDGJC/fWs4HYQgKzmSROXFfrYuQCsjcwSky9
\r
62 coQJwjnFJLH27yxGCGcJo0R/x0Z2kBYWARWJRS+2MoHYbAIaEtv2L2cEsUUElCUuvdnPDGIz
\r
63 C5RJ9D6ZC7ZCWCBOYtrlHUwgV/AK6Eh0bHKAmDmLSWLO6iVgM3kFBCVOznzCAtGrJXHj30uw
\r
64 emYBaYnl/zhAwpwCgRInZ0wFWyUKdMKUk9vYJjAKzULSPQtJ9yyE7gWMzKsYZVNyq3RzEzNz
\r
65 ilOTdYuTE/PyUot0zfVyM0v0UlNKNzGCQ99FZQdj8yGlQ4wCHIxKPLwz4x8GC7EmlhVX5h5i
\r
66 lORgUhLlDY1+FCzEl5SfUpmRWJwRX1Sak1p8iFGCg1lJhFfcBijHm5JYWZValA+TkuZgURLn
\r
67 fWttFSwkkJ5YkpqdmlqQWgSTleHgUJLgrY8HahQsSk1PrUjLzClBSDNxcIIM5wEaHgVSw1tc
\r
68 kJhbnJkOkT/FqCglzrscJCEAksgozYPrhaWmV4ziQK8I86aDVPEA0xpc9yugwUxAg8107oMM
\r
69 LklESEk1MEY0HH2gvkja7fsGv7efuWe0zJwg+uaH2Ga1I6t2u77k3jK9q0TqlZPLrLeCk+p9
\r
70 zJ8JuS3Quan/vu5oMN+alJVznv+YpreF++ezL72FTdbiGRNNq9XnBZoFX6/S+PThefPs4M/q
\r
71 E6MeS17adtli2fyS/Z9Xv5x5Vfrk1Y0Bf7OnTFub+ObJiqteSizFGYmGWsxFxYkAKYrP6SgD AAA=
\r
72 Cc: notmuch <notmuch@notmuchmail.org>
\r
73 X-BeenThere: notmuch@notmuchmail.org
\r
74 X-Mailman-Version: 2.1.13
\r
76 List-Id: "Use and development of the notmuch mail system."
\r
77 <notmuch.notmuchmail.org>
\r
78 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
79 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
80 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
81 List-Post: <mailto:notmuch@notmuchmail.org>
\r
82 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
83 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
84 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
85 X-List-Received-Date: Wed, 06 Aug 2014 17:07:01 -0000
\r
87 Quoth Gaute Hope on Aug 06 at 11:02 am:
\r
88 > On Fri, Aug 1, 2014 at 8:55 PM, Austin Clements <amdragon@mit.edu> wrote:
\r
89 > > I have a prototype implementation of message modification times on my
\r
90 > > lastmod-v1 branch at
\r
92 > > https://github.com/aclements/notmuch/tree/lastmod-v1
\r
94 > > It builds on my database features series that's currently awaiting
\r
97 > > The series uses a monotonic revision number, rather than wall-clock
\r
98 > > time, for reasons related to Xapian's concurrent control and detailed
\r
99 > > in the main commit's commit message. The implementation isn't quite
\r
100 > > useful from the CLI yet because I haven't added any way to query the
\r
101 > > database's current revision number. (I'm still thinking about how I
\r
102 > > want to do this, since search/show don't have a good way to deliver
\r
103 > > "additional" information right now. I might just add the last
\r
104 > > modification for each individual message/max of all messages in a
\r
105 > > thread, similar to what Thomas Jost's patch did long ago.)
\r
107 > > [1] id:1406859003-11561-1-git-send-email-amdragon@mit.edu
\r
112 > this should allow me to do what I wish to accomplish. The message
\r
113 > deletion is still a problem though, I can see two options at the moment:
\r
115 > a) output during notmuch new to a hook or a list somewhere deleted files.
\r
116 > if list: notmuch will not handle this list, only append to it and
\r
118 > purge it when it is safe to do so.
\r
120 > if hook: for my purposes I would just create a hook appending to the
\r
121 > list. as a minimum I think thread_id, message_id and revision number
\r
122 > should be included.
\r
125 > b) maintain a full list of deleted / dead messages. a user initiated
\r
126 > purge can clean this from the database. a tag could be used for this,
\r
127 > so that clients can ignore unlinked/deleted/dead messages. this
\r
128 > differs from a 'deleted' message (IMAP/Maildir context) that has not
\r
129 > yet been expunged so there is confusion to be avoided.
\r
131 > a garbage collection function and interface must also be set up, but
\r
132 > this one is probably simple.
\r
135 > in most cases I think a) would be sufficient, and probably much easier
\r
136 > to do. it might be slow in cases where large amounts of messages have been
\r
137 > deleted, but this is seldom the case for me at least.
\r
139 I have a separate branch (also sitting on top of the features branch)
\r
140 that implements "ghost" messages. The main intent is to fix a bug we
\r
141 currently have in threading, but it puts us in a good position to
\r
142 maintain state for messages we don't have the content of, including
\r
143 last modification times for deleted messages and pre-seeded tags for
\r
144 undelivered messages (useful for pre-tagging sent messages as sent,
\r
145 nmbug, notmuch insert, etc.)
\r