int am_daemon=0;
int am_client=0;
int do_stats=0;
+int do_progress=0;
+int keep_partial=0;
int block_size=BLOCK_SIZE;
rprintf(F," --rsync-path=PATH specify path to rsync on the remote machine\n");
rprintf(F," -C, --cvs-exclude auto ignore files in the same way CVS does\n");
rprintf(F," --delete delete files that don't exist on the sending side\n");
+ rprintf(F," --partial keep partially transferred files\n");
rprintf(F," --force force deletion of directories even if not empty\n");
rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n");
rprintf(F," --timeout=TIME set IO timeout in seconds\n");
rprintf(F," --config=FILE specify alternate rsyncd.conf file\n");
rprintf(F," --port=PORT specify alternate rsyncd port number\n");
rprintf(F," --stats give some file transfer stats\n");
+ rprintf(F," --progress show progress during transfer\n");
rprintf(F," -h, --help show this help screen\n");
rprintf(F,"\n");
enum {OPT_VERSION,OPT_SUFFIX,OPT_SENDER,OPT_SERVER,OPT_EXCLUDE,
OPT_EXCLUDE_FROM,OPT_DELETE,OPT_NUMERIC_IDS,OPT_RSYNC_PATH,
OPT_FORCE,OPT_TIMEOUT,OPT_DAEMON,OPT_CONFIG,OPT_PORT,
- OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_STATS};
+ OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_STATS, OPT_PARTIAL, OPT_PROGRESS};
static char *short_options = "oblLWHpguDCtcahvrRIxnSe:B:T:z";
{"compress", 0, 0, 'z'},
{"daemon", 0, 0, OPT_DAEMON},
{"stats", 0, 0, OPT_STATS},
+ {"progress", 0, 0, OPT_PROGRESS},
+ {"partial", 0, 0, OPT_PARTIAL},
{"config", 1, 0, OPT_CONFIG},
{"port", 1, 0, OPT_PORT},
{0,0,0,0}};
do_stats = 1;
break;
+ case OPT_PROGRESS:
+ do_progress = 1;
+ break;
+
+ case OPT_PARTIAL:
+ keep_partial = 1;
+ break;
+
case OPT_CONFIG:
config_file = optarg;
break;
if (delete_mode)
args[ac++] = "--delete";
+ if (keep_partial)
+ args[ac++] = "--partial";
+
if (force_delete)
args[ac++] = "--force";