checkout.sh

ME=checkout.sh

#echo - Check for updates ......
if [ /home/sh13256/$ME -nt $0 ]; then
# echo - New version found. Update ...
cp /home/sh13256/$ME $0
echo - $0 Updated. Relaunching ...
echo
echo "$0 $*"
$0 $*
exit
fi
#echo - $0 is up to date

Usage(){
echo
echo " Usage: $0 [PARAM]"
echo
echo " To check out LQT main trunk : $0 LQT"
echo " To check out LQT branch : $0 LQT [branch name]"
echo " To check out LQT last branch : $0 LQTB"
echo
echo " To check out LoanWL : $0 LWL"
echo " To check out LoanWL : $0 LWL [branch name]"
echo " To check out LoanWL last branch : $0 LWLB"
echo
echo " To check out LQT Common : $0 CM"
echo " To check out DB : $0 DB"
echo " To check out Any Folder : $0 [folder name] (D't start with /) "
echo
echo " To update code from CVS : $0 u"
echo " To prepare source tree : $0 p"
echo
}

if [ $# -lt 1 ]; then
Usage
exit
fi

#set -x

cROOT=`pwd`
CMD=$1
JAVA=/opt/j2se/1.5.0_12/bin/java
FOLDERS=$cROOT/.folder
OPS=$cROOT/.prepare
LWL_COMPILE=lwlCompile

BRANCH_FILE=$cROOT/.branch
LQT_BRANCH_PREFIX='LQT:'
LWL_BRANCH_PREFIX='LWL:'


#----------------- Login --------------------------
loginLQT(){
CVSROOT=/net/nasny30v1gfi.nam.nsroot.net/vol/gfi_v6_q1/data/opt/Loans/CVSRepository
export CVSROOT
}

loginGOLLF(){
CVSROOT=/net/nasny30v1gfi.nam.nsroot.net/vol/gfi_v1_q1/data/opt/ilink/CVSRepository
export CVSROOT
}
# username=`whoami`
# echo " Please enter cvs username(default $username):"
# read RESP1
# if [ -z $RESP1 ]; then
# username=`whoami`
# else
# username=$RESP1
# fi
#
# echo " Please enter password:"
# stty -echo
# read RESP2
# stty echo
# password=$RESP2
#}

standardCheckOut(){

PROJECT_NAME=$1/
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
cvs checkout -r $2 -P ${PROJECT_NAME}
else
cvs checkout -P ${PROJECT_NAME}
fi
exit

}

removeFolderQuickly(){
# rm -f ./build
# cp /home/sh13256/build.sh build
# chmod +x ./build
# ./build rm ${1}
# rm -f ./build

ksh -x /home/sh13256/build.sh rm $1

}

PrepareLoansQTCompileFolder(){
#set -x

echo ------ Preparing $cROOT/LoansQuickTicket ------

removeFolderQuickly ${cROOT}/LoansQuickTicket/compile
chmod +x ${cROOT}/LoansQuickTicket/LQT/prepareCompile.sh
cd ${cROOT}/LoansQuickTicket/LQT/
./prepareCompile.sh
cp /home/sh13256/build.sh ${cROOT}/LoansQuickTicket/compile/b
chmod -R +xw ${cROOT}/LoansQuickTicket/compile/

}

PrepareLoanWLCompileFoler(){
#set -x

echo ------ Preparing $cROOT/zTRSBackEnd ------

cd ${cROOT}
removeFolderQuickly ${cROOT}/$LWL_COMPILE
mkdir ${cROOT}/$LWL_COMPILE
cp -R zTRSBackEnd/* ./$LWL_COMPILE/
cd $LWL_COMPILE
find . -name "CVS" -exec rm -rf {} \;
chmod -R +xw .
}

DelCVSFolder(){
echo " -- deleting CVS folders on `pwd` -- "
find . -name "CVS" -exec rm -rf {} \;
}

updateAll(){
# set -x
if [ -d $cROOT/LoansQuickTicket ]; then
echo ------ Updating $cROOT/LoansQuickTicket ------
cd $cROOT/LoansQuickTicket
cvs -q update -C
fi
if [ -d $cROOT/zTRSBackEnd ]; then
echo ------ Updating $cROOT/zTRSBackEnd ------
cd $cROOT/zTRSBackEnd
cvs -q update -C
fi
if [ -f $cROOT/$FOLDERS ]; then
for FOLDER in `cat $cROOT/$FOLDERS`
do
echo ------ Updating $cROOT/$FOLDER ------
cd $cROOT/$FOLDER
cvs -q update -C
done
fi
}

prepareAll(){
# set -x

if [ -f $cROOT/$OPS ]; then
chmod +x ./$OPS
./$OPS
fi
if [ -d $cROOT/LoansQuickTicket ]; then
PrepareLoansQTCompileFolder
fi
if [ -d $cROOT/zTRSBackEnd ]; then
PrepareLoanWLCompileFoler
fi
}


if [ $CMD = "u" ]; then
updateAll
exit

elif [ $CMD = "update" ]; then
loginLQT
updateAll >>$2 2>&1
exit

elif [ $CMD = "updateLQT" ]; then
loginLQT
if [ -d $cROOT/LoansQuickTicket ]; then
cd LoansQuickTicket
cvs -q update -C >>$2 2>&1
fi
exit

elif [ $CMD = "updateLWL" ]; then
loginLQT
if [ -d $cROOT/zTRSBackEnd ]; then
cd zTRSBackEnd
cvs -q update -C >>$2 2>&1
fi
exit

elif [ $CMD = "p" ]; then
prepareAll
exit

elif [ $CMD = "prepare" ]; then
prepareAll >>$2 2>&1
exit

elif [ $CMD = "prepareLQT" ]; then
if [ -d $cROOT/LoansQuickTicket ]; then
PrepareLoansQTCompileFolder >>$2 2>&1
fi
exit

elif [ $CMD = "prepareLWL" ]; then
if [ -d $cROOT/zTRSBackEnd ]; then
PrepareLoanWLCompileFoler >>$2 2>&1
fi
exit

elif [ $CMD = "LQT" ]; then
loginLQT
PROJECT_NAME=LoansQuickTicket/LQT
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
mv $BRANCH_FILE ${BRANCH_FILE}.old
cat ${BRANCH_FILE}.old | sed '/^LQT:.*$/d' > $BRANCH_FILE
rm ${BRANCH_FILE}.old
echo ${LQT_BRANCH_PREFIX}$2 >> $BRANCH_FILE
cvs checkout -r $2 -P ${PROJECT_NAME}
else
rm $BRANCH_FILE
cvs checkout -P ${PROJECT_NAME}
fi

PrepareLoansQTCompileFolder
exit

elif [ $CMD = "LQTB" ]; then
loginLQT
LQT_BRANCH=`cat ${BRANCH_FILE} | grep '^LQT:' | sed 's/^LQT://'`
if [ ! ${LQT_BRANCH} ]; then
echo LQT last branch log not found. Exit !
exit
fi

echo LQT last branch log found: $LQT_BRANCH

$0 LQT $LQT_BRANCH

elif [ $CMD = "LWL" ]; then
loginLQT
PROJECT_NAME=zTRSBackEnd

removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
mv $BRANCH_FILE ${BRANCH_FILE}.old
cat ${BRANCH_FILE}.old | sed '/^LWL:.*$/d' > $BRANCH_FILE
rm ${BRANCH_FILE}.old
echo ${LWL_BRANCH_PREFIX}$2 >> $BRANCH_FILE
cvs checkout -r $2 -P ${PROJECT_NAME}
else
rm $BRANCH_FILE
cvs checkout -P ${PROJECT_NAME}
fi
exit

elif [ $CMD = "LWLB" ]; then
loginLQT
LWL_BRANCH=`cat ${BRANCH_FILE} | grep '^LWL:' | sed 's/^LWL://'`
if [ ! ${LWL_BRANCH} ]; then
echo LoanWL last branch log not found. Exit !
exit
fi

echo LoanWL last branch log found: $LWL_BRANCH

$0 LWL $LWL_BRANCH

elif [ $CMD = "DB" ]; then
loginLQT
PROJECT_NAME=LoansQuickTicket/LoansQTDB
CTRL_FILE=$PROJECT_NAME/config/loan_qt.ctl

removeFolderQuickly $cROOT/$PROJECT_NAME
cvs checkout -P !${PROJECT_NAME}/src ${PROJECT_NAME}

# CTRL_LIST=`cat $CTRL_FILE | grep "^SQL" | sed 's/^SQL/loan_qt/' | sed 's/,/\//g'`

CTRL_LIST=`cat $CTRL_FILE | sed '/^#/d' | sed '/^$/d'`

for CTLFILE in $CTRL_LIST
do
SUFFIX=`echo $CTLFILE | sed 's/^.*\.//'`
cvs checkout ${PROJECT_NAME}/src/loan_qt/${SUFFIX}/${CTLFILE}
done

if [ -d $cROOT/$PROJECT_NAME ]; then
cd $cROOT/$PROJECT_NAME
DelCVSFolder
fi

rm ./b
cp /home/sh13256/build.sh ./b
chmod +x ./b
./b crlf

./b asp $cROOT/LoansQuickTicket/LoansQTDB

elif [ $CMD = "CM" ]; then
loginLQT
PROJECT_NAME=LoansQuickTicket/LoansQTCommon
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
cvs checkout -r $2 -P ${PROJECT_NAME}
else
cvs checkout -P ${PROJECT_NAME}
fi
exit

elif [ $CMD = "BT" ]; then
loginLQT
PROJECT_NAME=LoansQTBatch/
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
cvs checkout -r $2 -P ${PROJECT_NAME}
else
cvs checkout -P ${PROJECT_NAME}
fi
exit

elif [ $CMD = "COMPS" ]; then
loginGOLLF
PROJECT_NAME=comps/
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
cvs checkout -r $2 -P ${PROJECT_NAME}
else
cvs checkout -P ${PROJECT_NAME}
fi
exit

elif [ $CMD = "GOLLF" ]; then

#set -x

loginGOLLF

PROJECT_NAME=gollf
# removeFolderQuickly $PROJECT_NAME

BRANCH_NAME=$2

if [ $3 = '.' ]; then
INCLUDE_FOLDERS=${PROJECT_NAME}
elif [ $3 = 'back' ]; then
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/common"
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/comps/backend"
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/ds/backend"
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/scorecard/backend"
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/gemfire/cache"
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/profile/backend"
else
INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/$3"
fi

if [ ${BRANCH_NAME} = '-' ]; then
LAST_BRANCH=`cat ${BRANCH_FILE}`

if [ -z ${LAST_BRANCH} ]; then
echo " -"
echo " - Give me a Branch Name(Blank for Trunk):\c"
read RESP
if [ -z ${RESP} ]; then
echo '-HEAD-' > ${BRANCH_FILE}
cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
exit 0
fi
LAST_BRANCH=${RESP}
echo ${LAST_BRANCH} > ${BRANCH_FILE}
elif [ ${LAST_BRANCH} = '-HEAD-' ]; then
cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
exit
fi
cvs checkout -r ${LAST_BRANCH} -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
exit
elif [ ! ${BRANCH_NAME} = '-HEAD-' ]; then
echo ${BRANCH_NAME} > ${BRANCH_FILE}
cvs checkout -r ${BRANCH_NAME} -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
else
echo '-HEAD-' > ${BRANCH_FILE}
cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
fi
exit

# standardCheckOut gollf $2

else
loginLQT
PROJECT_NAME=$1
removeFolderQuickly $PROJECT_NAME

if [ $# -gt 1 ]; then
cvs checkout -r $2 -P ${PROJECT_NAME}
else
cvs checkout -P ${PROJECT_NAME}
fi
exit

cat $1 >> ${FOLDERS}
mv ${FOLDERS} ${FOLDERS}.old
cat ${FOLDERS}.old | uniq > $FOLDERS
rm ${FOLDERS}.old

fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值