dovecot-2.2: dsync: Fixed last-common-uid lookup when local UID ...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Feb 16 14:51:56 EET 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/4e90a6911b26
changeset: 15779:4e90a6911b26
user: Timo Sirainen <tss at iki.fi>
date: Sat Feb 16 14:51:50 2013 +0200
description:
dsync: Fixed last-common-uid lookup when local UID was expunged but remote wasn't.
diffstat:
src/doveadm/dsync/dsync-mailbox-import.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diffs (22 lines):
diff -r e49424a3b13e -r 4e90a6911b26 src/doveadm/dsync/dsync-mailbox-import.c
--- a/src/doveadm/dsync/dsync-mailbox-import.c Sat Feb 16 14:09:42 2013 +0200
+++ b/src/doveadm/dsync/dsync-mailbox-import.c Sat Feb 16 14:51:50 2013 +0200
@@ -1069,13 +1069,15 @@
return FALSE;
i_assert(local_change->type == DSYNC_MAIL_CHANGE_TYPE_EXPUNGE);
- if (!dsync_mail_change_guid_equals(local_change, change->guid)) {
+ if (dsync_mail_change_guid_equals(local_change, change->guid))
+ importer->last_common_uid = change->uid;
+ else if (change->type != DSYNC_MAIL_CHANGE_TYPE_EXPUNGE)
+ dsync_mailbox_common_uid_found(importer);
+ else {
/* GUID mismatch for two expunged mails. dsync can't update
GUIDs for already expunged messages, so we can't immediately
determine that the rest of the messages are a mismatch. so
for now we'll just skip over this pair. */
- } else {
- importer->last_common_uid = change->uid;
}
return TRUE;
}
More information about the dovecot-cvs
mailing list