3
# cpsvndir: recursive directory copy excluding .svn sub dirs.
5
if [ -z "$1" -o -z "$2" ]; then
6
echo "Usage: $0 source-dir destination-dir"
10
# Some shells don't set EUID
11
if [ -z "$EUID" ]; then
12
if [ -x /usr/bin/id ]; then EUID=`id -u` ;fi
13
if [ -z "$EUID" ]; then EUID=$USER ;fi
14
if [ -z "$EUID" ]; then EUID=0 ;fi # Will fail if not root
17
# Do similarly for EGID
18
if [ -z "$EGID" ]; then
19
if [ -x /usr/bin/id ]; then EGID=`id -g` ;fi
20
if [ -z "$EGID" ]; then EGID=0 ;fi # Will fail if not root
33
*) DEST="$(pwd)/$2$BASE" ;;
36
#echo "BASE=$BASE SRC=$SRC DEST=$DEST"
41
# Copy all files and directories except .svn
43
for file in $(find . -name .svn -prune -or -print); do
44
#echo "processing $file"
45
if [ -d "$file" ]; then
46
mkdir -p "$DEST/$file"
48
cp -p "$file" "$DEST/$file"
49
chown $EUID:$EGID "$DEST/$file"
50
chmod +r "$DEST/$file" &> /dev/null