diff src/doveadm/dsync/dsync-ibc-stream.c @ 16561:0144704e1b99

dsync: Added -1 parameter to do a "one way sync" without reverting changes. This can be useful during migration when you don't want to delete any mails, but you also don't want to send changes to the old server either.
author Timo Sirainen <tss@iki.fi>
date Wed, 26 Jun 2013 20:53:01 +0300
parents 2e6829462405
children c2c09416d8a4
line wrap: on
line diff
--- a/src/doveadm/dsync/dsync-ibc-stream.c	Wed Jun 26 20:03:26 2013 +0300
+++ b/src/doveadm/dsync/dsync-ibc-stream.c	Wed Jun 26 20:53:01 2013 +0300
@@ -75,7 +75,7 @@
 	  .optional_keys = "sync_ns_prefix sync_box sync_box_guid sync_type "
 	  	"debug sync_visible_namespaces exclude_mailboxes "
 	  	"send_mail_requests backup_send backup_recv lock_timeout"
-	  	"no_mail_sync"
+	  	"no_mail_sync no_backup_overwrite"
 	},
 	{ .name = "mailbox_state",
 	  .chr = 'S',
@@ -644,6 +644,8 @@
 		dsync_serializer_encode_add(encoder, "sync_visible_namespaces", "");
 	if ((set->brain_flags & DSYNC_BRAIN_FLAG_NO_MAIL_SYNC) != 0)
 		dsync_serializer_encode_add(encoder, "no_mail_sync", "");
+	if ((set->brain_flags & DSYNC_BRAIN_FLAG_NO_BACKUP_OVERWRITE) != 0)
+		dsync_serializer_encode_add(encoder, "no_backup_overwrite", "");
 
 	dsync_serializer_encode_finish(&encoder, str);
 	dsync_ibc_stream_send_string(ibc, str);
@@ -727,6 +729,8 @@
 		set->brain_flags |= DSYNC_BRAIN_FLAG_SYNC_VISIBLE_NAMESPACES;
 	if (dsync_deserializer_decode_try(decoder, "no_mail_sync", &value))
 		set->brain_flags |= DSYNC_BRAIN_FLAG_NO_MAIL_SYNC;
+	if (dsync_deserializer_decode_try(decoder, "no_backup_overwrite", &value))
+		set->brain_flags |= DSYNC_BRAIN_FLAG_NO_BACKUP_OVERWRITE;
 
 	*set_r = set;
 	return DSYNC_IBC_RECV_RET_OK;