From 3caf40356dd9d2c32349cbe30dfdae8056d91440 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 7 Oct 2007 03:52:28 +0000 Subject: [PATCH] We now send -d to the server for a list-only transfer w/o -r (rather than sending -r with a kluged exclude). --- options.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/options.c b/options.c index 4ed54d99..61d2a90b 100644 --- a/options.c +++ b/options.c @@ -1682,7 +1682,8 @@ void server_options(char **args, int *argc_p) argstr[x++] = 'n'; if (preserve_links) argstr[x++] = 'l'; - if (xfer_dirs > (recurse || !delete_mode || !am_sender ? 1 : 0)) + if ((list_only && !recurse) || xfer_dirs > 1 + || (xfer_dirs && !recurse && delete_mode && am_sender)) argstr[x++] = 'd'; if (am_sender) { if (keep_dirlinks) @@ -1752,12 +1753,6 @@ void server_options(char **args, int *argc_p) if (do_compression) argstr[x++] = 'z'; - /* This is a complete hack - blame Rusty. FIXME! - * This hack is only needed for older rsync versions that - * don't understand the --list-only option. */ - if (list_only == 1 && !recurse) - argstr[x++] = 'r'; - #if SUBPROTOCOL_VERSION != 0 /* If we're speaking a pre-release version of a protocol, we tell * the server about this by (ab)using the -e option. */ -- 2.34.1