Clear Case脚本简化操作

以前有个项目非得用到Clear Case,但又不提供好用点的命令,每次check out/in都得敲一大堆命令,容易出错不说,对我等懒人简直是无法忍受.

具有简单的check in/out, list, copy source等功能,因为Clear Case比较特殊,运行的时候自己创建一个新进程,所以这里用到了输入重定向.

脚本实例

------------

#!/bin/ksh
PRGN=`basename $0`
#AUTHOR : Ricky Wu
#Function : Clear Case Tool for * Branch

#Get Branch

userbranch=`echo ${LOGNAME} | cut -c 4-7`****
#Change like below
echo "Your Branch is:"$userbranch

fun=$1
loc=$2
filename=$3
version=$4

case $fun in

co)
;;
unco)
;;
ci)
;;
lsco)
;;
get)
;;
bk)
;;
sv)
;;
merge)
;;
*)
echo "Invalid Function!"
exit
;;
esac

cleartool setview $userbranch << !

quit()
{
exit $1
}

cd /vobs/source/

if [ ! -d /vobs/source/$loc ]
then
echo "Source Location Dose Not Exsist!"
quit 1
fi

cd /vobs/source/$loc

if [ ${fun} == "lsco" ]
then
cleartool ${fun}
quit 1
fi

if [ ! -f /vobs/source/$loc/${filename} ]
then
echo "File [/vobs/source/$loc/${filename}] Not Exist,Please Check!"
quit 1
fi

if [ ${fun} == "co" ]
then
# Check out source code and write comment.
echo "." | cleartool ${fun} ${filename}

if [ -f ${HOME}/${filename} ]
then
echo "********************************"
echo "Notice: ${filename} already exsits!"
echo "Copy ${filename} as ${filename}.bak.$$"
echo "********************************"

cp ${HOME}/${filename} ${HOME}/${filename}.bak.$$
cp /vobs/source/$loc/${filename} ${HOME}/${filename}
echo "Checked Out File: [${filename}]"
else
cp /vobs/source/$loc/${filename} ${HOME}
echo "Checked Out File: [${filename}]"
fi
chmod 755 ${HOME}/${filename}
fi

if [ ${fun} == "unco" ]
then
echo "N" | cleartool ${fun} ${filename}
fi

if [ ${fun} == "ci" ]
then
if [ ! -f ${HOME}/${filename} ]
then
echo "Check In's File Dose Not Exsist!"
quit 1
fi

tt.sh ${HOME}/${filename}

cp ${HOME}/${filename} /vobs/source/$loc/
if [ $? -ne 0 ]
then
echo "Checkin cp File Error"
quit 1
fi
cleartool ${fun} ${filename}
fi

if [ ${fun} == "get" ]
then
# Get One of the old version
if [ ! -f /vobs/source/$loc/${getname} ]
then
echo "This Version Not Exsist!"
quit 1
fi

cp /vobs/source/$loc/${getname} ${HOME}/${getver}
echo "Get File: [${getname}]"
chmod 755 ${HOME}/${getver}
fi

if [ ${fun} == "bk" ]
then
# Get out the source code.
if [ -f ${HOME}/${filename} ]
then
else
fi
fi

if [ ${fun} == "sv" ]
then
cd /vobs/source/$loc/
echo 'ls -l ${filename}' |cleartool
fi

if [ ${fun} == "merge" ]
then
# Check out the source code then merge
echo "." | cleartool co ${filename}

cleartool ${fun} -to ${filename} -version /main/LATEST

if [ -f ${HOME}/${filename} ]
then
...
else
...
fi
echo "Then make sure use [${HOME}/${filename}] Check In!"
fi
!
exit $?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值