[patch] exclude-from stdin
Dave Dykstra
dwd at bell-labs.com
Thu Aug 29 10:49:00 EST 2002
I commited this patch to the rsync CVS (after fixing the rsync.yo to
use em() and bf() and making corresponding changes to rsync.1).
- Dave Dykstra
On Fri, Aug 02, 2002 at 05:53:09PM -0700, jw schultz wrote:
> This patch causes --exclude-from and --include-from to read
> from STDIN when given - for a filename.
>
> This was formerly incorporated in my --link-dest patch.
>
> Patch against current cvs.
>
>
> --
> ________________________________________________________________
> J.W. Schultz Pegasystems Technologies
> email address: jw at pegasys.ws
>
> Remember Cernan and Schmitt
> ? rsync.yo1
> Index: exclude.c
> ===================================================================
> RCS file: /cvsroot/rsync/exclude.c,v
> retrieving revision 1.44
> diff -u -r1.44 exclude.c
> --- exclude.c 11 Apr 2002 02:25:53 -0000 1.44
> +++ exclude.c 3 Aug 2002 00:09:54 -0000
> @@ -220,8 +220,14 @@
> int fatal, int include)
> {
> struct exclude_struct **list=list1;
> - FILE *f = fopen(fname,"r");
> + FILE *f;
> char line[MAXPATHLEN];
> +
> + if (strcmp(fname, "-")) {
> + f = fopen(fname,"r");
> + } else {
> + f = fdopen(0, "r");
> + }
> if (!f) {
> if (fatal) {
> rsyserr(FERROR, errno,
> Index: rsync.yo
> ===================================================================
> RCS file: /cvsroot/rsync/rsync.yo,v
> retrieving revision 1.105
> diff -u -r1.105 rsync.yo
> --- rsync.yo 1 Aug 2002 17:55:40 -0000 1.105
> +++ rsync.yo 3 Aug 2002 00:09:55 -0000
> @@ -617,6 +617,8 @@
> option, but instead it adds all exclude patterns listed in the file
> FILE to the exclude list. Blank lines in FILE and lines starting with
> ';' or '#' are ignored.
> +If \fIFILE\fP is \fB-\fP the list will be read from standard input.
> +
>
> dit(bf(--include=PATTERN)) This option tells rsync to not exclude the
> specified pattern of filenames. This is useful as it allows you to
> @@ -627,6 +629,8 @@
>
> dit(bf(--include-from=FILE)) This specifies a list of include patterns
> from a file.
> +If \fIFILE\fP is \fB-\fP the list will be read from standard input.
> +
>
> dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
> broad range of files that you often don't want to transfer between
More information about the rsync
mailing list