isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit af8c4396fecc2f0b25d5f5f178d8a3c915817430
parent 130664b622b7169adf35ae4c01177f8b31505321
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Mon, 29 Mar 2004 06:52:50 +0000

unscrew --delete by merging it into the config file. merge --expunge as
well for symmetry.

Diffstat:
Msrc/compat/config.c | 4++--
Msrc/compat/isync.1 | 7++++---
Msrc/compat/isync.h | 2+-
Msrc/compat/main.c | 12+++---------
4 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/src/compat/config.c b/src/compat/config.c @@ -307,9 +307,9 @@ write_channel_parm( FILE *fp, config_t *cfg ) fprintf( fp, "MaxSize %d\n", cfg->max_size ); if (cfg->max_messages) fprintf( fp, "MaxMessages %d\n", cfg->max_messages ); - if (!cfg->delete) + if (!cfg->delete && !delete) fputs( "Sync New ReNew Flags\n", fp ); - if (cfg->expunge) + if (cfg->expunge || expunge) fputs( "Expunge Both\n", fp ); fputc( '\n', fp ); } diff --git a/src/compat/isync.1 b/src/compat/isync.1 @@ -18,7 +18,7 @@ \" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA \" .. -.TH isync 1 "2004 Mar 27" +.TH isync 1 "2004 Mar 29" .. .SH NAME isync - synchronize IMAP4 and Maildir mailboxes @@ -123,8 +123,9 @@ Enable printing of \fIdebug\fR messages. \fB-w\fR, \fB--write\fR Don't run \fBmbsync\fR, but instead write a permanent config file for it. The UID mappings of all configured mailboxes will be migrated. -Note that some command line options that would affect an actual sync operation -will be incorporated into the new config file as well. +Note that most command line options that would affect an actual sync operation +will be incorporated into the new config file as well; exceptions are +--fast and --create[-remote|-local]. The name of the new config file is determined by replacing the last occurrence of "isync" with "mbsync", or appending ".mbsync" if "isync" was not found. .TP diff --git a/src/compat/isync.h b/src/compat/isync.h @@ -78,7 +78,7 @@ extern const char *Home; extern config_t global, *boxes; extern const char *maildir, *xmaildir, *folder, *inbox; -extern int o2o, altmap; +extern int o2o, altmap, delete, expunge; /* config.c */ void load_config( const char *, config_t *** ); diff --git a/src/compat/main.c b/src/compat/main.c @@ -138,8 +138,6 @@ add_arg( char ***args, const char *arg ) (*args)[nu + 1] = 0; } -#define OP_EXPUNGE (1<<0) -#define OP_DELETE (1<<1) #define OP_FAST (1<<2) #define OP_CREATE_REMOTE (1<<3) #define OP_CREATE_LOCAL (1<<4) @@ -147,7 +145,7 @@ add_arg( char ***args, const char *arg ) int Quiet, Verbose, Debug; config_t global, *boxes; const char *maildir, *xmaildir, *folder, *inbox; -int o2o, altmap; +int o2o, altmap, delete, expunge; const char *Home; @@ -216,10 +214,10 @@ main( int argc, char **argv ) config = optarg; break; case 'd': - ops |= OP_DELETE; + delete = 1; break; case 'e': - ops |= OP_EXPUNGE; + expunge = 1; break; case 'f': ops |= OP_FAST; @@ -395,14 +393,10 @@ main( int argc, char **argv ) add_arg( &args, path2 ); if (ops & OP_FAST) add_arg( &args, "-Ln" ); - else if (!(ops & OP_DELETE)) - add_arg( &args, "-nNf" ); if (ops & OP_CREATE_REMOTE) add_arg( &args, "-Cm" ); if (ops & OP_CREATE_LOCAL) add_arg( &args, "-Cs" ); - if (ops & OP_EXPUNGE) - add_arg( &args, "-X" ); if (list) add_arg( &args, "-l" ); if (o2o) {