我正在查找一個ClearCase命令,該命令將列出在當前視圖中可見的所有元素,但是不是對它們應用了特定標籤。ClearCase:如何找到沒有特定標籤的元素
舉例來說,我認爲可見的大部分元素都有LABEL_X應用於它們。我想要列出那些沒有LABEL_X的元素。
我顯然需要使用cleartool find
,但是用法和ClearCase手冊頁在我如何構造這樣的查詢方面困惑不解。
我正在查找一個ClearCase命令,該命令將列出在當前視圖中可見的所有元素,但是不是對它們應用了特定標籤。ClearCase:如何找到沒有特定標籤的元素
舉例來說,我認爲可見的大部分元素都有LABEL_X應用於它們。我想要列出那些沒有LABEL_X的元素。
我顯然需要使用cleartool find
,但是用法和ClearCase手冊頁在我如何構造這樣的查詢方面困惑不解。
這應該工作:
ct find -all -ele '! lbtype_sub(LABEL_X)' -print
ct find -ele '! lbtype_sub(LABEL_X)' -print
注:
!
和lbtype_sub
(在winodws你不需要空間)-ele
非常重要的,只有一次發生的指定文件(而不是所有不同版本的文件相匹配的條件)-ele
限制搜索到的元素,而不是版本(這將觸發很多結果與涉及的版本...)
-all
列出所有元素包括「刪除」(即「unreferenced」)的。
第二行只列出可見元素(在當前視圖)
你應該執行一個給定的ClearCase中您所選擇的子目錄的第二個命令行(快照或動態視圖)中的所有文件將列出與cirteria匹配的子目錄(和子子目錄...)。
警告:
文件和目錄上市。如果你只想要文件,添加-type f
到查詢:
CT發現型的F -ele「!lbtype_sub(LABEL_X)」 -print
所顯示的內容是元素的擴展路徑,即該文件的名稱後跟@@
。
只列出名字不@@
,使用「-nxn
」(無extendedpathname選項)
ct find -nxn -ele '!lbtype_sub(LABEL_X)' -print
另一個更復雜也更完整地列出只有名稱,沒有@@
,是使用descr -fmt
。例如:
ct find . -ele "!lbtype_sub(LABEL_X)" -exec "cleartool descr -fmt \"%En %d\n\" \"%CLEARCASE_PN%\""
ct find . -ele '! lbtype_sub(LABEL_X)' -exec 'cleartool descr -fmt "%En %d\n" "$CLEARCASE_PN"'
會給你(在windows或unix語法中)未標記爲LABEL_X的文件和目錄的日期和名稱。
通過該'descr -fmt
'顯示屏,您可以組合任何類型的信息和演示文稿以獲得結果。
謝謝,-ele是個訣竅。我正在嘗試使用-ver。 此外,我可以通過添加-nxn(無擴展命名符號)獲得沒有擴展路徑(@@)的文件名: ct find。 -ele'!lbtype_sub(LABEL_X)'-nxn -print – barrymc 2009-01-14 15:21:25
上面的工作,但請記住指定-cview以獲取當前視圖,否則您將從所有其他視圖獲取文件。
我需要使用下列在我的Linux ClearCase的安裝:「」
cleartool find -cview -all -version '\!lbtype(LABEL_X)' -print
從VonC的帖子的語法不與正常工作沒有逃脫。
感謝您的反饋意見:我完成了包含'nxn'(無擴展路徑名)選項的答案 – VonC 2009-01-14 15:50:35