specifying a list of files to transfer

Dave Dykstra dwd at drdykstra.us
Thu Jan 16 20:54:00 EST 2003

On Wed, Jan 15, 2003 at 02:49:08PM -0800, jw schultz wrote:
> On Wed, Jan 15, 2003 at 10:03:33AM -0800, Wayne Davison wrote:
> > On Tue, Jan 14, 2003 at 07:57:48PM -0800, jw schultz wrote:
> > > with the -r or -a options does this [recurse] on
> > > directories in the --files-from list?
> > 
> > Yes, it treats them like command-line args with the following two
> > exceptions:  if -r is not specified, we WILL create an explicitly named
> > directory (but not send its contents), if -R is specified, we do NOT
> > create implied directories (which was your next question).  This latter
> > exception means that we currently require the user to ensure that the
> > destination directory tree is valid (which could be done once with a
> > separate rsync --files-from run that didn't use -r and specified all
> > the dirs that we needed to ensure exist).  If this turns out to be too
> > much of a hassle, perhaps a new option named --implied-dirs could be
> > added to have rsync do its normal -R dir handling.
> Plus the third difference, that relative paths in the
> files-from list are relative to the tree, not to the current
> directory.
> We may well want the --implied-dirs option or some logic to
> created it.  If you don't have -r (or -a) you need to have
> all the intermediate dirs listed.  If you do have -r listing
> intermediate dirs efectively disables the file list.
> I'm not sure i like that.  I'm inclined to think the file-list
> should disable recoursion.  Perhaps [fighting resistance of
> yuck] recoursion would have to be specified explicitly after
> the --file-list.  I hate sequence sensitive options but
> but requiring users to remember -lptgoD instead of -a may be
> worse.
> You seem to see the files-from as a way of replacing
> command-line args where i see it as a way of replacing the
> tree scan.  However, if we can pin down the semantics i
> think we can acheive both ends.

I agree more with JW.  I envisioned --files-from as replacing the tree
scan.  I would rather have the '-r' option ignored when --files-from
is in effect.  I think it should be a complete list of the files and/or
directories that are to be sent.  If people leave out the directories,
missing parent directories should be automatically created.  As it is
now, if somebody just does "find . -print | rsync -a --files-from- ..."
are they going to get repeated files because the directories are listed?

Also, if the transfer is being sent from the remote side, the file names
are all getting sent over to the remote side first for --files-from and
then sent back as part of the normal protocol, right?  I had hoped we'd
be able to avoid that round trip because the list could get long.

- Dave

More information about the rsync mailing list