X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/704f908eae2008475e3aba005331e69c98c52234..6608462cac742530ed6528bfb5ac7e26f43a31ea:/options.c diff --git a/options.c b/options.c index 757598d6..02434d5e 100644 --- a/options.c +++ b/options.c @@ -56,6 +56,8 @@ int recurse = 0; 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; @@ -108,6 +110,7 @@ void usage(int F) 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"); @@ -124,6 +127,7 @@ void usage(int F) 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"); @@ -137,7 +141,7 @@ void usage(int F) 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"; @@ -183,6 +187,8 @@ static struct option long_options[] = { {"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}}; @@ -198,9 +204,9 @@ void parse_arguments(int argc, char *argv[]) switch (opt) { case OPT_VERSION: - printf("rsync version %s protocol version %d\n\n", + rprintf(FINFO,"rsync version %s protocol version %d\n\n", VERSION,PROTOCOL_VERSION); - printf("Written by Andrew Tridgell and Paul Mackerras\n"); + rprintf(FINFO,"Written by Andrew Tridgell and Paul Mackerras\n"); exit_cleanup(0); case OPT_SUFFIX: @@ -382,6 +388,14 @@ void parse_arguments(int argc, char *argv[]) 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; @@ -477,6 +491,9 @@ void server_options(char **args,int *argc) if (delete_mode) args[ac++] = "--delete"; + if (keep_partial) + args[ac++] = "--partial"; + if (force_delete) args[ac++] = "--force";