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