Bug 438694 - rsync ignores --no-d option
rsync ignores --no-d option
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: rsync (Show other bugs)
rawhide
All Linux
low Severity low
: ---
: ---
Assigned To: Simo Sorce
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-03-24 11:03 EDT by Jesse Keating
Modified: 2013-01-09 22:19 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-03-27 15:20:08 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jesse Keating 2008-03-24 11:03:33 EDT
Recently (3.0.0~) rsync changed some behaviour when getting remote file listings.

    - Requesting a remote file-listing without specifying -r (--recursive) now
      sends the -d (--dirs) option to the remote rsync rather than sending -r
      along with an extra exclude of /*/*.  If the remote rsync does not
      understand the -d option (i.e. it is 2.6.3 or older), you will need to
      either turn off -d (--no-d), or specify  -r --exclude='/*/*'  manually.

Sounds fine, except that --no-d doesn't seem to do anything:

$ rsync -vvv rsync://wallace.redhat.com/fedora-enchilada/
opening tcp connection to wallace.redhat.com port 873
sending daemon args: --server --sender -vvvde.L . fedora-enchilada/ 
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(600)
[receiver=3.0.0]
_exit_cleanup(code=12, file=io.c, line=600): about to call exit(12)


$ rsync --no-d -vvv rsync://wallace.redhat.com/fedora-enchilada/
opening tcp connection to wallace.redhat.com port 873
sending daemon args: --server --sender -vvvde.L . fedora-enchilada/ 
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(600)
[receiver=3.0.0]
_exit_cleanup(code=12, file=io.c, line=600): about to call exit(12)

But using the other suggested method to get listings seems to work:

$ rsync -vvv -r --exclude='/*/*' rsync://wallace.redhat.com/fedora-enchilada/
[client] add_rule(- /*/*)
opening tcp connection to wallace.redhat.com port 873
sending daemon args: --server --sender -vvvre.iL . fedora-enchilada/ 
receiving file list ... 
recv_file_name(.)
recv_file_name(linux)
Comment 1 Simo Sorce 2008-03-27 15:20:08 EDT
Fixed in 3.0.1pre1

Note You need to log in before you can comment on or make changes to this bug.