tqsheng

go.....
随笔 - 366, 文章 - 18, 评论 - 101, 引用 - 0
数据加载中……

ClearCase和TotalCommander结合使用

ClearCase和TotalCommander结合使用
* 与TotalCommander结合使用
** 显示文件
TotalCommander可以显示clearcase上的文件,只需要切换到相应的目录下即可。
每个view有几个必须的属性:
1. View Tag:表示view的名字。
2. Drive Letter:表示对应的磁盘。
例如,可以这么新建或设置一个view:
View Tag:view_X
Drive Letter:X

TotalCommander切换到X盘即可以看到该view对应的文件。
cmd下:cleartool catcs -tag view_X
可以查看该view的spec。

** 基本操作
本来TotalCommander或者资源管理器下都可以通过右键调出clearcase的菜单操
作。但可能是由于需要网络连接,每次调出右键菜单都很慢。而调用
TotalCommander的自定义开始菜单则非常快。通过设置自定义开始菜单来实现基
本的check out, check in等操作。

*** 无参数
列出check out的文件,默认参数是当前路径“.“
cleartool lsco -g
即在X盘的某个目录下调用上面的指令可以得到列表对话框。
命令添加到TotalCommander的自定义开始菜单,配置上快捷键即可。

*** 单个文件参数
显示一个文件的分支树图,或者比较一个文件和之前版本的差异,只有一个文件
参数。
cleartool lsvtree -g
cleartool diff -pre -g
将两个命令分别添加到自定义开始菜单。
参数项为:%P%N
表示当前选定的当个文件的全路径。

*** 多个文件参数
check out,check in,undo check out等指令有时需要同时操作多个文件。
TotalCommander可以支持参数:%L
是将选择的多个文件写到一个临时文件中,每行一个文件,并将该临时文件作为
参数传递。这和命令行要求的把多个文件名用空格分开依次排列在命令之后作为
参数的要求有区别。

没想到好的方法,写了个c程序来实现这个转化:
#include <stdio.h>
#define SIZE 1024

int
main(int argc, char ** argv)
{
     FILE *in;
     char buffer[SIZE];
     char exe[SIZE*10];
     char param[SIZE*9] = " ";
     if (argc != 3)
     {
         printf("param error!");
         exit(1);
     }
     strcpy(exe, argv[1]);
     in = fopen(argv[2], "r");
     while( fgets(buffer, SIZE, in))
     {
         buffer[strlen(buffer) - 1] = ' ';    //change '\n' to ' '
         strcat(param, buffer);
     }
     strcat(exe, param);
     system(exe);
     return 0;
}

gcc -o prog.exe prog.c
生成执行文件prog.exe用来实现:
用第一个参数作为命令,第二个参数作为参数列表文件的文件名。将参数列表文
件读出用空格相隔每行,作为命令的参数。最后执行。

TotalCommander自定义开始菜单里面的配置:
命令:e:\bin\prog.exe "cleartool co"
参数:%L
命令:e:\bin\prog.exe "cleartool ci"
参数:%L
命令:e:\bin\prog.exe "cleartool unco"
参数:%L

** 更换view spec
利用命令:
cleartool setcs -tag view_x view_file_name.txt
可以用view_file_name.txt中的view spec修改当前的view_x。
也可以通过TotalCommander的自定义菜单搞定。

posted on 2011-12-14 16:20 tqsheng 阅读(366) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理