From 79490ec1a58241d6011fa36713ca651d795855c3 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 28 Jan 2016 19:55:06 +0200 Subject: [PATCH] doveadm backup: If local mailbox has more mails than remote, detect and delete it earlier. --- src/doveadm/dsync/dsync-mailbox-import.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/doveadm/dsync/dsync-mailbox-import.c b/src/doveadm/dsync/dsync-mailbox-import.c index aebf02e9eb..657b9c5c51 100644 --- a/src/doveadm/dsync/dsync-mailbox-import.c +++ b/src/doveadm/dsync/dsync-mailbox-import.c @@ -751,6 +751,11 @@ static bool dsync_mailbox_try_save_cur(struct dsync_mailbox_importer *importer, /* add a record for local mail */ i_assert(importer->cur_mail != NULL); if (importer->revert_local_changes) { + if (save_change == NULL) { + dsync_mailbox_revert_existing_uid(importer, importer->cur_mail->uid, + t_strdup_printf("highest than remote's UIDs (remote UIDNEXT=%u)", importer->remote_uid_next)); + return TRUE; + } mail_expunge(importer->cur_mail); importer->cur_mail_skip = TRUE; importer->next_local_seq++;