2010-12-15 79 views

回答

0

我不確定您正在使用哪種腳本語言,但您始終可以調用系統命令cleartool ls <filename>,然後解析輸出以獲取版本。

3

獲取文件的版本的最可靠的方法是:

 
cleartool descr -fmt "%Vn" myFile 

這樣一來,不需要解析anyhting:如果這是一個版本的文件,結果將不會是空的。

cleartool descr -fmt "\tElement: %-13.13En Version: %Vn\n" util.c 
Element: util.c Version: /main/rel2_bugfix/1 

注:如果該文件是簽出,您可能需要添加選項​​(前身)到descr命令:

ct descr -fmt "%Vn" .project 
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT 
ct descr -pred -fmt "%Vn" .project 
\main\MyProject_Int\MyProject_Dev\CHECKEDOUT predecessor version: \main\MyProject_Int\MyProject_Dev\4 

或只使用%PVn(相同的結果,但沒有解析參與)

ct descr -fmt "%PVn" .project 
\main\MyProject_Int\MyProject_Dev\4 
1

我想每個人都會同意,有很多方法可以接收你想要的輸出。在findmerge中,我不使用GUI來保存所有合併文件的列表,而是運行cleartool'find'命令來獲取我需要的內容,然後將該輸出移植到另一個命令中以自動標記每個文件。

例如:

cleartool找到。 -user -version「{brtype(分支名)& & created_since(日期)& &(!版本(/主/分支名稱/ 0))} -print

上面的命令會發現都是版本在特定日期(fmt:1-Jan-10或1-Jan)上創建的特定用戶在分支上創建,而不是零版本。如果您願意,也可以放入日期範圍。當前命令將返回那些當前CHECKEDOUT的文件,要從輸出中刪除它,在-print:| grep -v CHECKEDOUT之後添加以下內容:

您可以使用命令來查找與您完全匹配的命令想要,但上面的內容會給你一個堅實的基礎用。

1

cleartool describe -short -predecessor <filename>

+0

當我運行此命令時,我得到了前輩的版本。 – 2015-06-04 10:40:49