From 5d5811f7d9e64265130951007b14a6d88a2425b6 Mon Sep 17 00:00:00 2001 From: David Dykstra Date: Tue, 24 Nov 1998 21:26:38 +0000 Subject: [PATCH] Always include "." when processing exclude lists. This avoids confusion when people do --exclude "*". Also, add an example to the man page that shows explicitly including parent directories when itemizing specific paths to include followed by --exclude "*". --- exclude.c | 4 ++++ rsync.yo | 7 +++++-- rsyncd.conf.yo | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/exclude.c b/exclude.c index 109ee8d6..35fa307a 100644 --- a/exclude.c +++ b/exclude.c @@ -160,6 +160,10 @@ int check_exclude(char *name,struct exclude_struct **local_exclude_list, { int n; + if (name && (name[0] == '.') && !name[1]) + /* never exclude '.', even if somebody does --exclude '*' */ + return 0; + if (exclude_list) { for (n=0; exclude_list[n]; n++) if (check_one_exclude(name,exclude_list[n],st)) diff --git a/rsync.yo b/rsync.yo index ec8ada11..0885dd6c 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsync)(1)(11 Nov 1998)()() +manpage(rsync)(1)(24 Nov 1998)()() manpagename(rsync)(faster, flexible replacement for rcp) manpagesynopsis() @@ -637,7 +637,10 @@ itemize( it() --exclude "/foo" would exclude a file in the base directory called foo it() --exclude "foo/" would exclude any directory called foo it() --include "*/" --include "*.c" --exclude "*" would include all - directories and C source files. + directories and C source files + it() --include "foo/" --include "foo/bar.c" --exclude "*" would include + only foo/bar.c (the foo/ directory must be explicitly included or + it would be excluded by the "*") ) manpagesection(DIAGNOSTICS) diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo index 6aae9290..2571f296 100644 --- a/rsyncd.conf.yo +++ b/rsyncd.conf.yo @@ -1,5 +1,5 @@ mailto(rsync-bugs@samba.org) -manpage(rsyncd.conf)(5)(18 Nov 1998)()() +manpage(rsyncd.conf)(5)(24 Nov 1998)()() manpagename(rsyncd.conf)(configuration file for rsync server) manpagesynopsis() -- 2.34.1