Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
140
cde/admin/bin/fnrclone
Executable file
140
cde/admin/bin/fnrclone
Executable file
@@ -0,0 +1,140 @@
|
||||
#! /bin/sh
|
||||
|
||||
# This shell script runs findnewrcs on a clone tree.
|
||||
|
||||
# Usage
|
||||
DoUsage()
|
||||
{
|
||||
cat << dernier
|
||||
Usage: fnrclone [-OPTIONS] <source> <destination>
|
||||
where OPTIONS are:
|
||||
[-c (checkout any new versions of files from RCS)]
|
||||
[-s (create a script & log file in $HOME/fnrclone and
|
||||
execute the script)]
|
||||
[-n (leave actual files, not symbolic links)]
|
||||
[-f <logfile name> (create a log file of changes)]
|
||||
[-d (descend symbolically linked directories)]
|
||||
[-S (do not follow symbolic links for files)
|
||||
[-O (do not check out files, Only create symbolic links for existing files)
|
||||
[-C (process SCCS directories[usually they are ignored])
|
||||
[-u Usage message]
|
||||
NOTE: the default is make symbolic links and don't check out newer
|
||||
revisions of files, just shadow the source. If the RCS directory is
|
||||
accessible, check out any brand new files as real files. If the
|
||||
RCS directory is not accessible (remote exchange), do NOT check out
|
||||
any brand new files.
|
||||
dernier
|
||||
}
|
||||
|
||||
|
||||
if [ $# -lt 2 ] ; then
|
||||
DoUsage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEF_s="L"
|
||||
DEF_X="X"
|
||||
LINKOPT="l"
|
||||
ACTUAL=
|
||||
#Parse the options
|
||||
set -- `getopt csSCOdnuf: $*`
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case $1 in
|
||||
-n) LINKOPT= ;shift;;
|
||||
-s) DEF_X=;shift;;
|
||||
-S) DEF_S=s;shift;;
|
||||
-c) DEF_s=;shift;;
|
||||
-C) DEF_C=C;shift;;
|
||||
-O) DEF_O=O;shift;;
|
||||
-u) DoUsage;shift;;
|
||||
-f) LOG=$2;shift 2;;
|
||||
-d) ACTUAL="${ACTUAL}f";shift;;
|
||||
--) shift;;
|
||||
-*) DoUsage;shift;;
|
||||
*) SRC=$1;DEST=$2;shift 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
OPTS="${DEF_X}${DEF_s}${DEF_S}${DEF_C}${DEF_O}${ACTUAL}${LINKOPT}miA"
|
||||
|
||||
#
|
||||
# get the system from uname -s
|
||||
#
|
||||
SYSTEM=`uname -s`
|
||||
RELEASE=`uname -r`
|
||||
MACHINE=`uname -m`
|
||||
|
||||
Findnewrcs="findnewrcs.${SYSTEM}"
|
||||
if [ "$SYSTEM" = "HP-UX" ];then
|
||||
# 700's
|
||||
M700=`echo $MACHINE | fgrep '/7' 2>/dev/null`
|
||||
M800=`echo $MACHINE | fgrep '/8' 2>/dev/null`
|
||||
R100=`echo $RELEASE | fgrep '10.' 2>/dev/null`
|
||||
R90=`echo $RELEASE | fgrep '9.' 2>/dev/null`
|
||||
R80=`echo $RELEASE | fgrep '8.' 2>/dev/null`
|
||||
R70=`echo $RELEASE | fgrep '7.' 2>/dev/null`
|
||||
if [ "$M700" ]; then
|
||||
if [ "$R100" ];then
|
||||
Findnewrcs="findnewrcs.700.100"
|
||||
elif [ "$R80" ];then
|
||||
Findnewrcs="findnewrcs.700.807"
|
||||
fi
|
||||
elif [ "$M800" ]; then
|
||||
if [ "$R100" ];then
|
||||
Findnewrcs="findnewrcs.800.100"
|
||||
elif [ "$R90" ];then
|
||||
Findnewrcs="findnewrcs.800.90"
|
||||
elif [ "$R80" ];then
|
||||
Findnewrcs="findnewrcs.800.80"
|
||||
else
|
||||
Findnewrcs="findnewrcs.800.70"
|
||||
fi
|
||||
else
|
||||
if [ "$R90" ];then
|
||||
Findnewrcs="findnewrcs.300.90"
|
||||
elif [ "$R80" ];then
|
||||
Findnewrcs="findnewrcs.300.80"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$SYSTEM" = "SunOS" ];then
|
||||
|
||||
if [ "$MACHINE" = "i86pc" ];then
|
||||
Findnewrcs="findnewrcs.UNIX_SV"
|
||||
elif [ "$MACHINE" = "prep" ];then
|
||||
Findnewrcs="findnewrcs.SunOS_PPC"
|
||||
else
|
||||
Findnewrcs="findnewrcs.SunOS"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# make an old style script
|
||||
#
|
||||
FNR_BINDIR=`dirname $0`
|
||||
if [ ! "$DEF_X" ];then
|
||||
DATE=`date +%H%M%S`
|
||||
FNR_DIR=/$HOME/fnrclone
|
||||
[ ! -d $FNR_DIR ] && mkdir $FNR_DIR
|
||||
FNR_SCRIPT=$FNR_DIR/script$DATE
|
||||
FNR_LOG=$FNR_DIR/log$DATE
|
||||
$FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS} > $FNR_SCRIPT 2> $FNR_LOG
|
||||
chmod 777 $FNR_SCRIPT
|
||||
chmod 777 $FNR_LOG
|
||||
$FNR_SCRIPT
|
||||
echo "`basename $0`: script is in $FNR_SCRIPT, logfile is $FNR_LOG"
|
||||
if [ "$LOG" ];then
|
||||
cat $FNR_LOG > $LOG
|
||||
echo "logfile is also in $LOG"
|
||||
fi
|
||||
else # execute without a script
|
||||
if [ "$LOG" ];then
|
||||
$FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS} 2> $LOG
|
||||
else
|
||||
$FNR_BINDIR/$Findnewrcs -S${SRC} -W${DEST} -${OPTS}
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user