pjs/directory/tools/cvs-tools/cvsco

115 строки
3.4 KiB
Bash
Executable File

#!/bin/sh
# uncomment the following line on NT (change the path as needed) and move
# it to the first line of this file.
#!c:/appls/mksnt/mksnt/sh
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1996-2003
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Mark Smith <MarkCSmithWork@aol.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
#
# cvsco: checkout using the branch and module found in BRANCH and MODULE
# files located in the current directory. If a file called REPOSITORY
# exists, its contents are used to set CVSROOT.
#
# usage: cvsco [-H] [-dry] [cvsco-flags]
#
BRANCH_FILENAME="BRANCH"
MODULE_FILENAME="MODULE"
REPOSITORY_FILENAME="REPOSITORY"
DATE_FILENAME="DATE"
EXTRAOPTS="-q"
DRYRUN=0
GET_EMPTY_DIRS=0
if [ $# -gt 0 ]; then
if [ "$1" = "-H" ]; then
echo "usage: $0 [-dry] [-d] [cvsco-flags]";
exit 1;
fi
if [ "$1" = "-dry" ]; then
shift;
DRYRUN=1;
fi
if [ "$1" = "-d" ]; then
shift;
GET_EMPTY_DIRS=1;
fi
fi
if [ ! -r $BRANCH_FILENAME -o ! -s $BRANCH_FILENAME ]; then
echo "Please put the branch name in $BRANCH_FILENAME and try again."
echo "Use the name -TRUNK- to pull from the trunk (no branch)."
exit 1
fi
BRANCH=`cat $BRANCH_FILENAME`
if [ "$BRANCH" = "-TRUNK-" ]; then
if [ $GET_EMPTY_DIRS -eq 0 ]; then
BRANCH_ARGS="-P"
fi
else
BRANCH_ARGS="-r $BRANCH"
fi
if [ -r $DATE_FILENAME -a -s $DATE_FILENAME ]; then
DATE=`cat $DATE_FILENAME`
BRANCH_ARGS="$BRANCH_ARGS -D $DATE"
fi
if [ ! -r $MODULE_FILENAME -o ! -s $MODULE_FILENAME ]; then
echo "Please put the module name in $MODULE_FILENAME and try again."
exit 1
fi
if [ -r $REPOSITORY_FILENAME -a -s $REPOSITORY_FILENAME ]; then
CVSROOT=`cat $REPOSITORY_FILENAME`
export CVSROOT
echo "Repository (CVSROOT): $CVSROOT"
fi
echo cvs $EXTRAOPTS co $* $BRANCH_ARGS `cat $MODULE_FILENAME`
if [ $DRYRUN -eq 0 ]; then
cvs $EXTRAOPTS co $* $BRANCH_ARGS `cat $MODULE_FILENAME`
fi