Moved list-only output from flist.c to generator.c so that it works
[rsync/rsync.git] / options.c
index c868cfe..4e26ebe 100644 (file)
--- a/options.c
+++ b/options.c
@@ -20,6 +20,7 @@
  */
 
 #include "rsync.h"
+#include "ifuncs.h"
 #include <popt.h>
 #include "zlib/zlib.h"
 
@@ -463,7 +464,6 @@ static struct poptOption long_options[] = {
   {"no-inc-recursive", 0,  POPT_ARG_VAL,    &allow_inc_recurse, 0, 0, 0 },
   {"i-r",              0,  POPT_ARG_VAL,    &allow_inc_recurse, 1, 0, 0 },
   {"no-i-r",           0,  POPT_ARG_VAL,    &allow_inc_recurse, 0, 0, 0 },
-  {"no-ir",            0,  POPT_ARG_VAL,    &allow_inc_recurse, 0, 0, 0 }, /* XXX remove soon */
   {"dirs",            'd', POPT_ARG_VAL,    &xfer_dirs, 2, 0, 0 },
   {"no-dirs",          0,  POPT_ARG_VAL,    &xfer_dirs, 0, 0, 0 },
   {"no-d",             0,  POPT_ARG_VAL,    &xfer_dirs, 0, 0, 0 },
@@ -1930,7 +1930,7 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--numeric-ids";
 
        if (!allow_inc_recurse)
-               args[ac++] = "--no-ir"; /* XXX change to --no-i-r soon */
+               args[ac++] = "--no-i-r";
 
        if (am_sender) {
                if (ignore_existing)
@@ -1978,7 +1978,8 @@ void server_options(char **args, int *argc_p)
                if (!relative_paths)
                        args[ac++] = "--no-relative";
        }
-       if (relative_paths && !implied_dirs && !am_sender)
+       /* It's OK that this checks the upper-bound of the protocol_version. */
+       if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30))
                args[ac++] = "--no-implied-dirs";
 
        if (fuzzy_basis && am_sender)