rsync 2.5.6 globbing bug

jw schultz jw at pegasys.ws
Thu Jul 31 08:19:58 EST 2003


On Wed, Jul 30, 2003 at 11:06:03PM +0100, Alan Burlison wrote:
> jw schultz wrote:
> 
> >On Wed, Jul 30, 2003 at 10:44:37PM +0100, Alan Burlison wrote:
> >
> >>$ rsync -auv \
> >>ftp.funet.fi::CPAN/modules/by-category/05_Networking_Devices_IPC/Net/* . \
> >>| grep -v MOTD:
> >
> >Cockpit error.
> >This isn't DOS.  Don't use * when you want the all directory contents.
> >	rsync -auv 
> >	ftp.funet.fi::CPAN/modules/by-category/05_Networking_Devices_IPC/Net/ . 
> >Will work correctly and is safe from the local shell
> >globbing which would have given you an error message had you
> >been using csh with default options.
> 
> Oops, sorry, wrong command-line flags in the cut-n-paste.  What I'm trying 
> to do is just mirror a given directory *without* recursively descending 
> into subdirs.  The correct invocation to show the issue is
> 
> $rsync -lptv \
> 'ftp.funet.fi::CPAN/modules/by-category/05_Networking_Devices_IPC/Net/*' . \
> | grep -v MOTD:
> 
> If you leave off the '*' at the end you get this error:
> 
> client: nothing to do: perhaps you need to specify some filenames or the 
> --recursive option?
> 
> Inability to mirror large directories sure looks like a bug to me rather 
> than 'cockpit error'.  As I said, I'm happy to submit a patch.

In the sense of not having any arbitrary limits it could be
viewed as a bug.  1000 is a perfectly reasonable insanity
check.  If you had been using ssh it would have died long
before because the shells have limits too.

If you are trying to prevent picking up subdirs in this case
i'd suggest you '--exclude=*/'

-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt



More information about the rsync mailing list