* 與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的自定義菜單搞定。