Re: [PATCH] Add configurable changed tag to messages that have been changed on disk
[notmuch-archives.git] / b5 / 3944c5bbd4b41ed7a1070c129eb72def05fd9f
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
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -2.3\r
10 X-Spam-Level: \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
18         [18.7.68.36])\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
45         changed on disk\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
52 MIME-Version: 1.0\r
53 Content-Type: text/plain; charset=us-ascii\r
54 Content-Disposition: inline\r
55 In-Reply-To:\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
75 Precedence: list\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
86 \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
91 > >\r
92 > >   https://github.com/aclements/notmuch/tree/lastmod-v1\r
93 > >\r
94 > > It builds on my database features series that's currently awaiting\r
95 > > review [1].\r
96 > >\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
106 > >\r
107 > > [1] id:1406859003-11561-1-git-send-email-amdragon@mit.edu\r
108\r
109\r
110 > Hi,\r
111\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
114\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
117 > the user must\r
118 >    purge it when it is safe to do so.\r
119\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
123\r
124\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
130\r
131 >    a garbage collection function and interface must also be set up, but\r
132 >    this one is probably simple.\r
133\r
134\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
138 \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