19990502 sourceware import
This commit is contained in:
48
symlink-tree
Executable file
48
symlink-tree
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
# Create a symlink tree.
|
||||
#
|
||||
# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
|
||||
#
|
||||
# where srcdir is the directory to create a symlink tree to,
|
||||
# and "ignoreN" is a list of files/directories to ignore.
|
||||
|
||||
prog=$0
|
||||
srcdir=$1
|
||||
ignore="$2"
|
||||
|
||||
ignore_additional=". .. CVS"
|
||||
|
||||
# If we were invoked with a relative path name, adjust ${prog} to work
|
||||
# in subdirs.
|
||||
case ${prog} in
|
||||
/*) ;;
|
||||
*) prog=../${prog} ;;
|
||||
esac
|
||||
|
||||
# Set newsrcdir to something subdirectories can use.
|
||||
case ${srcdir} in
|
||||
/*) newsrcdir=${srcdir} ;;
|
||||
*) newsrcdir=../${srcdir} ;;
|
||||
esac
|
||||
|
||||
for f in `ls -a ${srcdir}`; do
|
||||
if [ -d ${srcdir}/$f ]; then
|
||||
found=
|
||||
for i in ${ignore} ${ignore_additional}; do
|
||||
if [ "$f" = "$i" ]; then
|
||||
found=yes
|
||||
fi
|
||||
done
|
||||
if [ -z "${found}" ]; then
|
||||
echo "$f ..working in"
|
||||
if [ -d $f ]; then true; else mkdir $f; fi
|
||||
(cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
|
||||
fi
|
||||
else
|
||||
echo "$f ..linked"
|
||||
rm -f $f
|
||||
ln -s ${srcdir}/$f .
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user