changeset 19988:e030bfa55139

doveadm: Reverted 7a3b52b8f - doveadm sync -1 -R is useful.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 06 Apr 2016 22:08:14 +0300
parents 926294fdb1af
children 103c6f797c1c
files src/doveadm/doveadm-dsync.c
diffstat 1 files changed, 11 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/doveadm-dsync.c	Wed Apr 06 20:19:04 2016 +0300
+++ b/src/doveadm/doveadm-dsync.c	Wed Apr 06 22:08:14 2016 +0300
@@ -38,7 +38,7 @@
 #include <ctype.h>
 #include <sys/wait.h>
 
-#define DSYNC_COMMON_GETOPT_ARGS "+1a:dDEfg:l:m:n:NO:Pr:s:t:T:Ux:"
+#define DSYNC_COMMON_GETOPT_ARGS "+1a:dDEfg:l:m:n:NO:Pr:Rs:t:T:Ux:"
 #define DSYNC_REMOTE_CMD_EXIT_WAIT_SECS 30
 /* The broken_char is mainly set to get a proper error message when trying to
    convert a mailbox with a name that can't be used properly translated between
@@ -1042,9 +1042,13 @@
 	return TRUE;
 }
 
-static void cmd_dsync_init_common(struct dsync_cmd_context *ctx)
+static struct doveadm_mail_cmd_context *cmd_dsync_alloc(void)
 {
+	struct dsync_cmd_context *ctx;
+
+	ctx = doveadm_mail_cmd_alloc(struct dsync_cmd_context);
 	ctx->io_timeout_secs = DSYNC_DEFAULT_IO_STREAM_TIMEOUT_SECS;
+	ctx->ctx.getopt_args = DSYNC_COMMON_GETOPT_ARGS;
 	ctx->ctx.v.parse_arg = cmd_mailbox_dsync_parse_arg;
 	ctx->ctx.v.preinit = cmd_dsync_preinit;
 	ctx->ctx.v.init = cmd_dsync_init;
@@ -1056,27 +1060,18 @@
 			     DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE);
 	p_array_init(&ctx->exclude_mailboxes, ctx->ctx.pool, 4);
 	p_array_init(&ctx->namespace_prefixes, ctx->ctx.pool, 4);
-}
-
-static struct doveadm_mail_cmd_context *cmd_dsync_alloc(void)
-{
-	struct dsync_cmd_context *ctx;
-
-	ctx = doveadm_mail_cmd_alloc(struct dsync_cmd_context);
-	ctx->ctx.getopt_args = DSYNC_COMMON_GETOPT_ARGS;
-	cmd_dsync_init_common(ctx);
 	return &ctx->ctx;
 }
 
 static struct doveadm_mail_cmd_context *cmd_dsync_backup_alloc(void)
 {
+	struct doveadm_mail_cmd_context *_ctx;
 	struct dsync_cmd_context *ctx;
 
-	ctx = doveadm_mail_cmd_alloc(struct dsync_cmd_context);
+	_ctx = cmd_dsync_alloc();
+	ctx = (struct dsync_cmd_context *)_ctx;
 	ctx->backup = TRUE;
-	ctx->ctx.getopt_args = DSYNC_COMMON_GETOPT_ARGS"R";
-	cmd_dsync_init_common(ctx);
-	return &ctx->ctx;
+	return _ctx;
 }
 
 static int
@@ -1187,7 +1182,7 @@
 
 struct doveadm_mail_cmd cmd_dsync_mirror = {
 	cmd_dsync_alloc, "sync",
-	"[-1fPU] [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n <namespace> | -N] [-x <exclude>] [-s <state>] -d|<dest>"
+	"[-1fPRU] [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n <namespace> | -N] [-x <exclude>] [-s <state>] -d|<dest>"
 };
 struct doveadm_mail_cmd cmd_dsync_backup = {
 	cmd_dsync_backup_alloc, "backup",