int am_sender=0;
int recurse = 0;
int am_daemon=0;
+int am_client=0;
+int do_stats=0;
int block_size=BLOCK_SIZE;
rprintf(F,"Options:\n");
rprintf(F,"-v, --verbose increase verbosity\n");
rprintf(F,"-c, --checksum always checksum\n");
- rprintf(F,"-a, --archive archive mode (same as -rlptDog)\n");
+ rprintf(F,"-a, --archive archive mode\n");
rprintf(F,"-r, --recursive recurse into directories\n");
rprintf(F,"-R, --relative use relative path names\n");
rprintf(F,"-b, --backup make backups (default ~ extension)\n");
rprintf(F,"-z, --compress compress file data\n");
rprintf(F," --exclude FILE exclude file FILE\n");
rprintf(F," --exclude-from FILE exclude files listed in FILE\n");
+ rprintf(F," --include FILE don't exclude file FILE\n");
+ rprintf(F," --include-from FILE don't exclude files listed in FILE\n");
rprintf(F," --suffix SUFFIX override backup suffix\n");
rprintf(F," --version print version number\n");
rprintf(F," --daemon run as a rsync daemon\n");
rprintf(F," --config FILE specify alternate rsyncd.conf file\n");
- rprintf(F," --port PORT specify alternate rsyncd port number\n");
+ rprintf(F," --port PORT specify alternate rsyncd port number\n");
+ rprintf(F," --stats give some file transfer stats\n");
rprintf(F,"\n");
rprintf(F,"the backup suffix defaults to %s\n",BACKUP_SUFFIX);
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_FORCE,OPT_TIMEOUT,OPT_DAEMON,OPT_CONFIG,OPT_PORT,
+ OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_STATS};
static char *short_options = "oblLWHpguDCtcahvrRIxnSe:B:T:z";
{"numeric-ids", 0, 0, OPT_NUMERIC_IDS},
{"exclude", 1, 0, OPT_EXCLUDE},
{"exclude-from",1, 0, OPT_EXCLUDE_FROM},
+ {"include", 1, 0, OPT_INCLUDE},
+ {"include-from",1, 0, OPT_INCLUDE_FROM},
{"rsync-path", 1, 0, OPT_RSYNC_PATH},
{"one-file-system",0, 0, 'x'},
{"ignore-times",0, 0, 'I'},
{"temp-dir", 1, 0, 'T'},
{"compress", 0, 0, 'z'},
{"daemon", 0, 0, OPT_DAEMON},
+ {"stats", 0, 0, OPT_STATS},
{"config", 1, 0, OPT_CONFIG},
{"port", 1, 0, OPT_PORT},
{0,0,0,0}};
break;
case OPT_EXCLUDE:
- add_exclude(optarg);
+ add_exclude(optarg, 0);
+ break;
+
+ case OPT_INCLUDE:
+ add_exclude(optarg, 1);
break;
case OPT_EXCLUDE_FROM:
- add_exclude_file(optarg,1);
+ add_exclude_file(optarg,1, 0);
+ break;
+
+ case OPT_INCLUDE_FROM:
+ add_exclude_file(optarg,1, 1);
break;
case 'h':
am_daemon = 1;
break;
+ case OPT_STATS:
+ do_stats = 1;
+ break;
+
case OPT_CONFIG:
config_file = optarg;
break;