`
richiewu
  • 浏览: 35382 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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 $?

分享到:
评论

相关推荐

    g4lmod0.16

    该脚本作为一个辅助工具,其主要功能是连接到 FTP 服务器并下载一个预设配置的脚本,从而简化用户的操作流程。用户只需要提供 FTP 服务器的 IP 地址即可,无需创建新的 CD 镜像或进行额外的修改工作。 #### 服务器 ...

    shell 图书管理系统

    ### 知识点总结 ...综上所述,这份Shell脚本为一个简化的图书管理系统,它通过一系列的shell命令实现了图书管理的基本功能。通过上述分析,我们可以了解到Shell脚本如何组织和执行命令来完成特定的任务。

    clear:clear 消除游戏 common lisp写的游戏

    4. **条件表达式与分支**:游戏逻辑中会涉及大量的条件判断,如玩家操作的合法性检查、游戏结束条件等,这些都可以通过`if`、`case`、`cond`等条件表达式来实现。 5. **循环与迭代**:游戏的更新和渲染往往涉及循环...

    vbscript_reference

    它基于Microsoft的Visual Basic编程语言,但进行了简化,使得非专业开发者也能轻松上手。本文将根据提供的内容,对VBScript中的关键概念进行深入解读。 #### 函数与子程序 - **函数(Function)**:用于执行特定计算...

    MATLAB函数速查手册.rar

    7. **函数和脚本**:MATLAB支持函数定义(`.m`文件),以及脚本文件的编写和执行。了解如何定义函数头、局部变量和返回值是重要的。 8. **数据处理与分析**:包括统计分析(如均值、标准差、相关性)、数据排序、...

    smarty缓存部分参考

    case 'clear': // 实现清除缓存逻辑 break; } } ``` 这里的关键是定义一个处理不同缓存动作的函数,并将其赋值给`$smarty-&gt;cache_handler_func`。自定义缓存处理函数接收多个参数,包括缓存动作、Smarty对象...

    Matlab 教程 仅供学习参考用代码.rar

    - **函数与脚本**:Matlab中的函数以.m文件形式存在,包括脚本(无输入输出参数)和函数(有输入输出参数)。 - **控制流结构**:包括if-else条件判断,for和while循环,switch-case选择结构。 2. **数值计算** ...

    vbscript example vbscript example

    它由Microsoft开发,是Visual Basic家族的一部分,旨在简化和加速应用程序的开发过程。 VBScript的核心概念是变量、数据类型、控制结构和函数。在VBScript中,变量无需预声明,可以自动识别其数据类型,包括String...

    vss 基础教程 (基础概念,服务器端,客户端等)

    - Rational Clear Case、Borland StarTeam、Merant PVCS Version Manager:这些工具功能更强大,但价格较高。 - CVS:开源且免费,但对初学者来说学习曲线较陡峭,主要在 Unix/Linux 环境中使用。 - VSS:虽然...

    matlab开发-Cheatsheetpdf.zip

    6. **脚本与函数的区别**:脚本是一系列按顺序执行的命令,而函数则是封装代码的模块,可以接收输入参数并返回结果。 7. **单元格数组和结构体**:这些复杂数据类型允许存储异构数据,便于数据管理和组织。 8. **...

    Excel_VBA_编程教程(完整版).txt

    VBA(Visual Basic for Applications)是Microsoft Office套件中的一种程序语言,它允许用户为Office应用程序(如Excel、Word等)编写定制化的脚本或宏,从而实现自动化处理任务、简化重复性工作流程等功能。...

    Linux命令详称--各命令的英文全称

    13. `case`: 条件执行命令,根据不同的条件执行不同的操作。 14. `cat`: 显示文件内容,常用于查看文本文件。 15. `cd`: 改变当前工作目录,进入指定的目录路径。 16. `cfdisk`: 用于Linux分区表的管理,创建、删除...

    EXCEL的VBA入门

    3. **简化复杂操作**:对于复杂的计算或者数据分析任务,使用VBA可以编写出更简洁、逻辑更清晰的代码。 4. **定制解决方案**:企业或个人可以根据具体需求开发定制化的解决方案,而不依赖于软件本身的限制。 #### ...

    java学习笔记

    - 流程控制语句:if-else、switch-case、while、do-while、for循环等。 - 异常处理:try-catch-finally、throw-throws。 3. **面向对象特性**: - 封装:使用类和对象的概念隐藏实现细节。 - 继承:通过extends...

    Linux服务器下MariaDB 10自动化安装部署

    这种方法不仅简化了安装过程,而且可以确保在多台服务器上快速、一致地部署数据库服务,这对于大规模的云环境或数据中心尤为有用。同时,自动化安装也有助于减少人为错误,提高系统的稳定性和可靠性。

    matlab常用命令汇总

    - **`clear`**: 清除工作空间中的变量。 - **`disp`**: 显示变量值或字符串。 - **`length`**: 计算向量或数组的长度。 - **`load`**: 从文件加载数据到工作空间。 - **`mlock`**: 锁定变量,防止被清除。 - **`...

    matlab 常用命令

    clear**: 清除工作区中的变量。 **2. disp**: 显示变量的值或者字符串。 **3. length**: 返回向量或矩阵的长度。 **4. load**: 加载数据文件到MATLAB工作区。 **5. mlock**: 锁定变量,防止被清除。 **6. ...

    Matlab常用命令

    case/switch**: 开始switch语句的分支选择。 **3. catch**: 捕获异常。 **4. elseif**: if语句的扩展条件。 **5. end**: 结束for、while、switch、try或if语句。 **6. error**: 报告错误并中断程序执行。 ...

    EJB3.0中文资料

    EJB 3.0是EJB技术的一个重要版本,它引入了许多新的特性来简化EJB组件的开发过程,特别是通过注解支持来减少XML配置的需求。 #### 二、EJB 3.0 运行环境配置 ##### 2.1 下载与安装 - **JBoss**: EJB 3.0通常与...

Global site tag (gtag.js) - Google Analytics