Your message dated Wed, 7 May 2014 09:33:37 +0200
with message-id <[email protected]>
and subject line Re: Bug#747281: [rsync] Error in the manpage's first example
("skipping directory foo" - does not transfer directories by default)
has caused the Debian Bug report #747281,
regarding [rsync] Error in the manpage's first example ("skipping directory
foo" - does not transfer directories by default)
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
747281: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747281
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: rsync
Version: 3.1.0-3
Severity: important
Tags: upstream
rsync's manual does not specify its usage. However, examples are provided in
the USAGE section. Unfortunately, there is a huge error in the very first
example:
rsync -t *.c foo:src/
This would transfer all files matching the pattern *.c from the current
directory to the directory src on the machine foo. If any of the files already
exist on the remote system then the rsync remote-update protocol is used to
update the file by sending only the differences. See the tech report for
details.
In fact, only the files matching the pattern and with the right type are
copied. I do not know which types are copied by default, but I know that
directories are not. If
--dirs is not specified, trying the above will throw a "skipping directory x"
for all matching directories. As can be seen on
https://bugzilla.samba.org/show_bug.cgi?id=10495 this is not a Debian-specific behavior,
but an intentional choice presumably made for "backwards compatibility" with
cp. A fix from upstream appears to be remote.
Here is what this example will do on a simple
directory having 2 files matching *.c:
$ ls -lR
.:
total 4
drwxr-xr-x 2 test test 4096 mar 22 01:04 bar.c
-rw-r--r-- 1 test test 0 mar 22 01:04 foo.c
./bar.c:
total 0
test@vinci:~/testsrc$ rsync -t *.c ~/testdst/
skipping directory bar.c
test@vinci:~/testsrc$ ls -lR ~/testdst/
/home/test/testdst/:
total 0
-rw-r--r-- 1 test test 0 mar 22 01:04 foo.c
test@vinci:~/testsrc$
By the way, it is far from obvious which "tech report" this description refers
to.
--
Filipus Klutiero
http://www.philippecloutier.com
--- End Message ---
--- Begin Message ---
On Wed 07 May 2014, Filipus Klutiero wrote:
>
> rsync's manual does not specify its usage. However, examples are provided in
> the USAGE section. Unfortunately, there is a huge error in the very first
> example:
>
> >rsync -t *.c foo:src/
> >
> >
> > This would transfer all files matching the pattern *.c from the current
> >directory to the directory src on the machine foo. If any of the files
> >already
> >exist on the remote system then the rsync remote-update protocol is used to
> >update the file by sending only the differences. See the tech report for
> >details.
>
>
> In fact, only the files matching the pattern and with the right type are
> copied. I do not know which types are copied by default, but I know that
> directories are not. If
A directory is NOT a file. Hence the example is correct.
Closing this report.
Paul
--- End Message ---