1
The mkshadow programs makes a "shadow tree" of a directory tree.
2
It logically copies all of the "MASTER" directory into ".".
3
However, ordinary files, and RCS/SCCS directories are "copied"
4
by creating a sybolic link to the corresponding file in MASTER.
6
The wildmat.c file is by Rich Salz, and from comp.sources.misc, volume 17.
7
The savedir.c file is lightly modified from the version written
8
by David MacKenzie for GNU fileutils; the Free Software Foundation
9
has graciously agreed to waive their usual copyright so this
10
program can be distributed by the X Consortium.
12
If you have problems compiling savedir.c, try setting the DIRENT make
13
variable as suggested in the Makefile.
15
* Usage: mkshadow [-X exclude_file] [-x exclude_pattern] ... MASTER
16
* Makes the current directory be a "shadow copy" of MASTER.
17
* Sort of like a recursive copy of MASTER to .
18
* However, symbolic links are used instead of actually
19
* copying (non-directory) files.
20
* Also, directories named RCS or SCCS are shared (with a symbolic link).
21
* Warning messages are printed for files (and directories) in .
22
* that don't match a corresponding file in MASTER (though
23
* symbolic links are silently removed).
24
* Also, a warning message is printed for non-directory files
25
* under . that are not symbolic links.
27
* Files and directories can be excluded from the sharing
28
* with the -X and -x flags. The flag `-x pattern' (or `-xpattern')
29
* means that mkshadow should ignore any file whose name matches
30
* the pattern. The pattern is a "globbing" pattern, i.e. the
31
* characters *?[^-] are interpreted as by the shell.
32
* If the pattern contains a '/' is is matched against the complete
33
* current path (relative to '.'); otherwise, it is matched
34
* against the last component of the path.
35
* A `-X filename' flag means to read a set of exclusion patterns
36
* from the named file, one pattern to a line.
38
Author: Per Bothner. bothner@cygnus.com. November 1990, 1993.