python/cliff: update to 4.8.0
[oi-userland.git] / tools / cloney
blob5218daa07fd9933b323f0f6cbe706be4e624f017
1 #!/bin/ksh
3 # CDDL HEADER START
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License (the "License").
7 # You may not use this file except in compliance with the License.
9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 # or http://www.opensolaris.org/os/licensing.
11 # See the License for the specific language governing permissions
12 # and limitations under the License.
14 # When distributing Covered Code, include this CDDL HEADER in each
15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 # If applicable, add the following below this CDDL HEADER, with the
17 # fields enclosed by brackets "[]" replaced with your own identifying
18 # information: Portions Copyright [yyyy] [name of copyright owner]
20 # CDDL HEADER END
22 # Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
24 # clone a directory to another using symlinks, in a very clunky way
26 if [ $# != 2 ]; then
27 echo "usage $0 srcdir destdir"
28 exit 1
31 srcdir=$1
32 destdir=$2
34 PATH=/usr/bin
35 if [ "X$CLONEY_MODE" = "X" ];then
36 CLONEY_MODE="symlink"
39 echo $CLONEY_MODE cloning $srcdir to $destdir
41 if [ "$CLONEY_MODE" = "symlink" ]; then
42 cd ${srcdir}
43 gfind . -type d | \
44 grep -v '^.$' | \
45 gsed -e 's,^\./,,' | \
46 while read i;
48 mkdir -p "${destdir}/$i"
49 done
51 # Copy files and symlinks, making sure we ignore the gnu-patch backup
52 # files, too.
53 gfind . -type f -o -type l | \
54 egrep -v '~[0-9]+~' | \
55 gsed -e 's,^\./,,' | \
56 while read i;
58 rm -f "${destdir}/$i"
59 ln -s "${srcdir}/$i" "${destdir}/$i"
60 done
61 elif [ "$CLONEY_MODE" = "hardlink" ]; then
62 cd ${srcdir}
63 gfind . -type d | \
64 grep -v '^.$' | \
65 gsed -e 's,^\./,,' | \
66 while read i;
68 mkdir -p "${destdir}/$i"
69 done
71 # Copy files and symlinks, making sure we ignore the gnu-patch backup
72 # files, too.
73 gfind . -type f -o -type l | \
74 egrep -v '~[0-9]+~' | \
75 gsed -e 's,^\./,,' | \
76 while read i;
78 rm -f "${destdir}/$i"
79 ln "${srcdir}/$i" "${destdir}/$i"
80 done
81 elif [ "$CLONEY_MODE" = "copy" ]; then
82 cd ${srcdir}
83 gfind . -type d | \
84 grep -v '^.$' | \
85 gsed -e 's,^\./,,' | \
86 while read i;
88 mkdir -p "${destdir}/$i"
89 done
91 # Copy files and symlinks, making sure we ignore the gnu-patch backup
92 # files, too.
93 gfind . -type f -o -type l | \
94 egrep -v '~[0-9]+~' | \
95 gsed -e 's,^\./,,' | \
96 while read i;
98 rm -f "${destdir}/$i"
99 cp -a "${srcdir}/$i" "${destdir}/$i"
100 done
101 else
102 echo "CLONEY_MODE=$CLONEY_MODE not supported"
103 exit 1