dovecot-2.2: dsync: If both local and remote have the same messa...

dovecot at dovecot.org dovecot at dovecot.org
Thu Jan 31 19:45:41 EET 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/9b7d80a8db44
changeset: 15699:9b7d80a8db44
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jan 31 19:44:28 2013 +0200
description:
dsync: If both local and remote have the same message flags, don't go changing them.

diffstat:

 src/doveadm/dsync/dsync-mailbox-import.c |  5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diffs (15 lines):

diff -r 798a335d99b0 -r 9b7d80a8db44 src/doveadm/dsync/dsync-mailbox-import.c
--- a/src/doveadm/dsync/dsync-mailbox-import.c	Thu Jan 31 19:05:55 2013 +0200
+++ b/src/doveadm/dsync/dsync-mailbox-import.c	Thu Jan 31 19:44:28 2013 +0200
@@ -520,6 +520,11 @@
 	combined_remove = local_remove|remote_remove;
 	i_assert((combined_add & combined_remove) == 0);
 
+	/* don't change flags that are currently identical in both sides */
+	conflict_flags = local_final ^ remote_final;
+	combined_add &= conflict_flags;
+	combined_remove &= conflict_flags;
+
 	/* see if there are conflicting final flags */
 	local_wanted = (local_final|combined_add) & ~combined_remove;
 	remote_wanted = (remote_final|combined_add) & ~combined_remove;


More information about the dovecot-cvs mailing list