Re: [PATCH 2/6] lib: Add per-message last modification tracking
authorAustin Clements <aclements@csail.mit.edu>
Sat, 8 Aug 2015 13:05:31 +0000 (09:05 +2000)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:49:17 +0000 (14:49 -0700)
55/2d798d0bfd607089eb228303bd409df4dec19f [new file with mode: 0644]

diff --git a/55/2d798d0bfd607089eb228303bd409df4dec19f b/55/2d798d0bfd607089eb228303bd409df4dec19f
new file mode 100644 (file)
index 0000000..7618c42
--- /dev/null
@@ -0,0 +1,164 @@
+Return-Path: <aclements@csail.mit.edu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 7A4686DE0924\r
+ for <notmuch@notmuchmail.org>; Sat,  8 Aug 2015 06:27:19 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -2.126\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-2.126 tagged_above=-999 required=5\r
+ tests=[HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3,\r
+ RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01,\r
+ RP_MATCHES_RCVD=-0.55, SPF_PASS=-0.001, URIBL_SBL=0.644,\r
+ URIBL_SBL_A=0.1] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id ugghzyetOPjk for <notmuch@notmuchmail.org>;\r
+ Sat,  8 Aug 2015 06:27:17 -0700 (PDT)\r
+X-Greylist: delayed 1302 seconds by postgrey-1.35 at arlo;\r
+ Sat, 08 Aug 2015 06:27:17 PDT\r
+Received: from outgoing.csail.mit.edu (outgoing.csail.mit.edu [128.30.2.149])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 2742C6DE02D2\r
+ for <notmuch@notmuchmail.org>; Sat,  8 Aug 2015 06:27:17 -0700 (PDT)\r
+Received: from mail-qk0-f174.google.com ([209.85.220.174])\r
+ by outgoing.csail.mit.edu with esmtpsa (TLS1.0:RSA_ARCFOUR_SHA1:16)\r
+ (Exim 4.72) (envelope-from <aclements@csail.mit.edu>)\r
+ id 1ZO3oa-0001Kk-UC\r
+ for notmuch@notmuchmail.org; Sat, 08 Aug 2015 09:05:33 -0400\r
+Received: by qkdv3 with SMTP id v3so45472883qkd.3\r
+ for <notmuch@notmuchmail.org>; Sat, 08 Aug 2015 06:05:32 -0700 (PDT)\r
+MIME-Version: 1.0\r
+X-Received: by 10.55.26.93 with SMTP id a90mr23194257qka.63.1439039132115;\r
+ Sat, 08 Aug 2015 06:05:32 -0700 (PDT)\r
+Received: by 10.96.197.42 with HTTP; Sat, 8 Aug 2015 06:05:31 -0700 (PDT)\r
+Received: by 10.96.197.42 with HTTP; Sat, 8 Aug 2015 06:05:31 -0700 (PDT)\r
+In-Reply-To: <87r3ne96li.fsf@maritornes.cs.unb.ca>\r
+References: <1432936375-astroid-4-0i1n6yczs2-1520@strange>\r
+ <1433525318-23756-1-git-send-email-david@tethera.net>\r
+ <1433525318-23756-3-git-send-email-david@tethera.net>\r
+ <878u9nk0st.fsf@schoepe.localhost>\r
+ <87r3ne96li.fsf@maritornes.cs.unb.ca>\r
+Date: Sat, 8 Aug 2015 09:05:31 -0400\r
+Message-ID:\r
+ <CAH-f9WszEhzuSie05+R88kk1kFvHgktCcf3JYbk1+MPEzU6Mjw@mail.gmail.com>\r
+Subject: Re: [PATCH 2/6] lib: Add per-message last modification tracking\r
+From: Austin Clements <aclements@csail.mit.edu>\r
+To: David Bremner <david@tethera.net>\r
+Content-Type: multipart/alternative; boundary=001a1146cb2a49acdd051ccc688b\r
+Cc: notmuch <notmuch@notmuchmail.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.18\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sat, 08 Aug 2015 13:27:19 -0000\r
+\r
+--001a1146cb2a49acdd051ccc688b\r
+Content-Type: text/plain; charset=UTF-8\r
+\r
+Hi David. I haven't had a chance to look back at the original code, but\r
+your follow-up expanded comment agrees with how I remember this code\r
+working.\r
+On Aug 7, 2015 4:41 PM, "David Bremner" <david@tethera.net> wrote:\r
+\r
+> Daniel Schoepe <daniel@schoepe.org> writes:\r
+>\r
+>\r
+> > On Fri, 05 Jun 2015 19:28 +0200, David Bremner wrote:\r
+> >> +        /* Prior to NOTMUCH_FEATURE_LAST_MOD, messages did not\r
+> >> +         * track modification revisions.  Give all messages a\r
+> >> +         * revision of 1.\r
+> >> +         */\r
+> >> +        if (new_features & NOTMUCH_FEATURE_LAST_MOD)\r
+> >> +            _notmuch_message_upgrade_last_mod (message);\r
+> >> [..]\r
+> >> +/* Upgrade a message to support NOTMUCH_FEATURE_LAST_MOD.  The caller\r
+> >> + * must call _notmuch_message_sync. */\r
+> >> +void\r
+> >> +_notmuch_message_upgrade_last_mod (notmuch_message_t *message)\r
+> >> +{\r
+> >> +    /* _notmuch_message_sync will update the last modification\r
+> >> +     * revision; we just have to ask it to. */\r
+> >> +    message->modified = TRUE;\r
+> >> +}\r
+> >> +\r
+> >\r
+> > The comment in the first part says that message without LAST_MOD get a\r
+> > revision of 1, but as far as I can tell, _notmuch_message_sync will\r
+> > actually put the next revision number on the message. If this is what's\r
+> > happening, either the comment or the behavior should be changed,\r
+> > depending on what's intended.\r
+>\r
+> I think the behaviour is OK, but you're correct the comment is\r
+> wrong. I'll see if Austin has any comment on that. I guess it would be\r
+> harmless to initialize upgraded messages to some low revision number,\r
+> but I don't see the benefit.\r
+>\r
+\r
+--001a1146cb2a49acdd051ccc688b\r
+Content-Type: text/html; charset=UTF-8\r
+Content-Transfer-Encoding: quoted-printable\r
+\r
+<p dir=3D"ltr">Hi David. I haven&#39;t had a chance to look back at the ori=\r
+ginal code, but your follow-up expanded comment agrees with how I remember =\r
+this code working.</p>\r
+<div class=3D"gmail_quote">On Aug 7, 2015 4:41 PM, &quot;David Bremner&quot=\r
+; &lt;<a href=3D"mailto:david@tethera.net">david@tethera.net</a>&gt; wrote:=\r
+<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margin:=\r
+0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Daniel Schoepe &lt;=\r
+<a href=3D"mailto:daniel@schoepe.org">daniel@schoepe.org</a>&gt; writes:<br=\r
+>\r
+<br>\r
+<br>\r
+&gt; On Fri, 05 Jun 2015 19:28 +0200, David Bremner wrote:<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Prior to NOTMUCH_FEATURE_LAST_MOD,=\r
+ messages did not<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* track modification revisions.=\r
+=C2=A0 Give all messages a<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* revision of 1.<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*/<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (new_features &amp; NOTMUCH_FEATUR=\r
+E_LAST_MOD)<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 _notmuch_message_upgrad=\r
+e_last_mod (message);<br>\r
+&gt;&gt; [..]<br>\r
+&gt;&gt; +/* Upgrade a message to support NOTMUCH_FEATURE_LAST_MOD.=C2=A0 T=\r
+he caller<br>\r
+&gt;&gt; + * must call _notmuch_message_sync. */<br>\r
+&gt;&gt; +void<br>\r
+&gt;&gt; +_notmuch_message_upgrade_last_mod (notmuch_message_t *message)<br=\r
+>\r
+&gt;&gt; +{<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 /* _notmuch_message_sync will update the last modif=\r
+ication<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 =C2=A0* revision; we just have to ask it to. */<br>\r
+&gt;&gt; +=C2=A0 =C2=A0 message-&gt;modified =3D TRUE;<br>\r
+&gt;&gt; +}<br>\r
+&gt;&gt; +<br>\r
+&gt;<br>\r
+&gt; The comment in the first part says that message without LAST_MOD get a=\r
+<br>\r
+&gt; revision of 1, but as far as I can tell, _notmuch_message_sync will<br=\r
+>\r
+&gt; actually put the next revision number on the message. If this is what&=\r
+#39;s<br>\r
+&gt; happening, either the comment or the behavior should be changed,<br>\r
+&gt; depending on what&#39;s intended.<br>\r
+<br>\r
+I think the behaviour is OK, but you&#39;re correct the comment is<br>\r
+wrong. I&#39;ll see if Austin has any comment on that. I guess it would be<=\r
+br>\r
+harmless to initialize upgraded messages to some low revision number,<br>\r
+but I don&#39;t see the benefit.<br>\r
+</blockquote></div>\r
+\r
+--001a1146cb2a49acdd051ccc688b--\r