unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: David Bremner <david@tethera.net>
To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>,
	David Bremner <david@tethera.net>,
	notmuch@freelists.org, notmuch@notmuchmail.org
Subject: [PATCH] fixup! lib: index message files with duplicate message-ids
Date: Sat, 10 Jun 2017 17:02:38 -0300	[thread overview]
Message-ID: <20170610200238.13527-1-david@tethera.net> (raw)
In-Reply-To: <87k24rebkx.fsf@fifthhorseman.net>

---

This seems to do the trick for preserving the subject as additional files are indexed.

 lib/add-message.cc         | 3 ++-
 test/T670-duplicate-mid.sh | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/add-message.cc b/lib/add-message.cc
index 26405742..711ed9fa 100644
--- a/lib/add-message.cc
+++ b/lib/add-message.cc
@@ -536,7 +536,8 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
 	if (ret)
 	    goto DONE;
 
-	_notmuch_message_set_header_values (message, date, from, subject);
+	if (is_new || is_ghost)
+	    _notmuch_message_set_header_values (message, date, from, subject);
 
 	ret = _notmuch_message_index_file (message, message_file);
 	if (ret)
diff --git a/test/T670-duplicate-mid.sh b/test/T670-duplicate-mid.sh
index da5ce5d4..ea5e1d6a 100755
--- a/test/T670-duplicate-mid.sh
+++ b/test/T670-duplicate-mid.sh
@@ -5,6 +5,13 @@ test_description="duplicate message ids"
 add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1'
 add_message '[id]="duplicate"' '[subject]="message 2" [filename]=copy2'
 
+test_begin_subtest 'First subject preserved'
+cat <<EOF > EXPECTED
+thread:XXX   2001-01-05 [1/1(2)] Notmuch Test Suite; message 1 (inbox unread)
+EOF
+notmuch search id:duplicate | notmuch_search_sanitize > OUTPUT
+test_expect_equal_file EXPECTED OUTPUT
+
 test_begin_subtest 'Search for second subject'
 cat <<EOF >EXPECTED
 MAIL_DIR/copy1
-- 
2.11.0

  parent reply	other threads:[~2017-06-10 20:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-04 12:32 v3 of index multiple files per msg-id, add reindex command David Bremner
2017-06-04 12:32 ` [patch v3 01/12] lib: isolate n_d_add_message and helper functions into own file David Bremner
2017-06-04 12:32 ` [patch v3 02/12] lib/n_d_add_message: refactor test for new/ghost messages David Bremner
2017-06-04 12:32 ` [patch v3 03/12] lib: factor out message-id parsing to separate file David Bremner
2017-06-04 12:32 ` [patch v3 04/12] lib: refactor notmuch_database_add_message header parsing David Bremner
2017-06-04 12:32 ` [patch v3 05/12] test: add known broken tests for duplicate message id David Bremner
2017-06-04 12:32 ` [patch v3 06/12] lib: index message files with duplicate message-ids David Bremner
2017-06-04 20:34   ` Daniel Kahn Gillmor
2017-06-06  1:09     ` David Bremner
2017-06-09 10:57       ` David Bremner
2017-06-10 20:02     ` David Bremner [this message]
2017-06-04 12:32 ` [patch v3 07/12] lib: add notmuch_message_count_files David Bremner
2017-06-04 12:32 ` [patch v3 08/12] lib: add notmuch_thread_get_total_files David Bremner
2017-06-04 12:32 ` [patch v3 09/12] cli/search: print total number of files matched in summary output David Bremner
2017-06-04 12:32 ` [patch v3 10/12] lib: add _notmuch_message_remove_indexed_terms David Bremner
2017-06-04 12:32 ` [patch v3 11/12] lib: add notmuch_message_reindex David Bremner
2017-06-04 12:32 ` [patch v3 12/12] add "notmuch reindex" subcommand David Bremner

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=20170610200238.13527-1-david@tethera.net \
    --to=david@tethera.net \
    --cc=dkg@fifthhorseman.net \
    --cc=notmuch@freelists.org \
    --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).