mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 21:54:10 +01:00
d805866ec5
This is simply 50 messages from the early history of the notmuch mailing list, (fetched from the public archives).
54 lines
1.8 KiB
Text
54 lines
1.8 KiB
Text
From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
|
|
To: notmuch@notmuchmail.org
|
|
Date: Wed, 18 Nov 2009 02:51:18 +0600
|
|
Subject: [notmuch] [PATCH] Handle rename of message file
|
|
Message-ID: <1258491078-29658-1-git-send-email-dottedmag@dottedmag.net>
|
|
|
|
If message file has been renamed, just update filename in the DB.
|
|
|
|
Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
|
|
---
|
|
lib/database.cc | 21 ++++++++++++---------
|
|
1 files changed, 12 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/lib/database.cc b/lib/database.cc
|
|
index 3c8d626..c4eb8b6 100644
|
|
--- a/lib/database.cc
|
|
+++ b/lib/database.cc
|
|
@@ -925,20 +925,23 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
|
|
if (private_status == NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND) {
|
|
_notmuch_message_set_filename (message, filename);
|
|
_notmuch_message_add_term (message, "type", "mail");
|
|
+
|
|
+ ret = _notmuch_database_link_message (notmuch, message, message_file);
|
|
+ if (ret)
|
|
+ goto DONE;
|
|
+
|
|
+ date = notmuch_message_file_get_header (message_file, "date");
|
|
+ _notmuch_message_set_date (message, date);
|
|
+
|
|
+ _notmuch_message_index_file (message, filename);
|
|
+ } else if (strcmp(notmuch_message_get_filename(message), filename)) {
|
|
+ /* Message file has been moved/renamed */
|
|
+ _notmuch_message_set_filename (message, filename);
|
|
} else {
|
|
ret = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID;
|
|
goto DONE;
|
|
}
|
|
|
|
- ret = _notmuch_database_link_message (notmuch, message, message_file);
|
|
- if (ret)
|
|
- goto DONE;
|
|
-
|
|
- date = notmuch_message_file_get_header (message_file, "date");
|
|
- _notmuch_message_set_date (message, date);
|
|
-
|
|
- _notmuch_message_index_file (message, filename);
|
|
-
|
|
_notmuch_message_sync (message);
|
|
} catch (const Xapian::Error &error) {
|
|
fprintf (stderr, "A Xapian exception occurred: %s.\n",
|
|
--
|
|
1.6.3.3
|
|
|
|
|