specifying a list of files to transfer

jw schultz jw at pegasys.ws
Wed Jan 15 00:36:01 EST 2003


On Tue, Jan 14, 2003 at 03:57:51PM -0800, Wayne Davison wrote:
> On Tue, Jan 14, 2003 at 03:32:41PM -0600, Dave Dykstra wrote:
> >     1. Yes it should take a filename or - as a parameter.
> >     2. I don't like the idea of skipping the SRC spec.  Paths should be
> > 	relative to the SRC.  If somebody wants to use full paths they
> > 	can always have a SRC of "/".
> >     3. It should be called --files-from.
> >     4. --send-dirs and --no-implicit-dirs shouldn't be separate options,
> > 	they should be automatically turned on with the --files-from option.
> 
> OK, I'm also fine with these points.  Note RE comment #2: even though
> the relative path names now default to the SRC dir, the user can still
> include absolute path names in the list and rsync will transfer them

Absolute paths are bad news here.  Especially when
dealing with an rsync daemon.  This allows the user to
defeat any location restrictions.  Not only working outside
the module of an rsync daemon but also the kinds of
restrictions that someone might set up using command=
wrappers in ssh.

> without problem.  Also, I think the older implementation of --files-from
> implied the -R (--relative) option, and this implementation does not.
> 
> So, here's a *VERY EARLY* implementation that can transfer files in
> either direction.  It adds the option --files-from=FILE and the option
> --null (for null-terminated names).  "FILE" can be "-" for stdin.  This
> patch is relative to the CVS version, and is only for those that want to
> assist in implementation, design, and/or testing.  **I have not tested
> daemon mode at all yet, just simple ssh transfers in both directions.**
> 
> Compatibility note:  when pushing files, the --files-from mode will work
> with any older version of rsync that we can transfer files with.  When
> pulling files, the remote rsync must understand the "--files-from=-"
> option (which tells it to read the file list over the stdin-socket since
> it's combined with the --server option).

That's good at least temporarily, probably permanently.




More information about the rsync mailing list