From: Timo Sirainen Date: Thu, 28 Jan 2016 17:55:06 +0000 (+0200) Subject: doveadm backup: If local mailbox has more mails than remote, detect and delete it... X-Git-Tag: 2.2.22.rc1~250 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=79490ec1a58241d6011fa36713ca651d795855c3;p=thirdparty%2Fdovecot%2Fcore.git doveadm backup: If local mailbox has more mails than remote, detect and delete it earlier. --- 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++;