2011-07-06 180 views
1
element * CHECKEDOUT 
element /test_ari/karthik/... ... /karthik_omna/LATEST 
element /test_ari/karthik/... /main/2 -mkbranch karthik_omna 
element * /main/LATEST 

我已經寫了上面的代碼,它的工作如此正確。我爲此感到高興,但我想清除你們的一些東西。這是什麼3點在這句法下面的代碼是什麼意思?

/test_ari/karthik/... 

和其他3個點的意思是指

... /karthik_omna/LATEST 

而最後一個問題,但它得到了重視。爲什麼我們在開始時總是使用* CHECKEDOUT?如果我們不使用它,會發生什麼?

回答

1
/test_ari/karthik/... 

這意味着,接下來的選擇規則(即.../karthik_omna/LATEST)將適用於karthik目錄,以及所有的子目錄和文件,遞歸。
如果選擇的路徑已經(三個點的明星,而不是)/test_ari/karthik/*,選擇規則會應用到子目錄和文件,但karthik目錄本身


.../karthik_omna/LATEST 

這是指示ClearCase選擇分支karthik_omna的最新版本的選擇規則,而不用擔心已經創建了其他分支karthik_omna
如果選擇規則是(例如)/main/karthik_omna/LATEST,那麼只有當表示分支創建在'main'之上時,它纔會選擇該分支的LATEST版本
與前面的'...'相反,對於選擇規則,不存在'*'。
*/karthik_omna/LATEST不存在)


正如我在「How to create a branch」解釋說,選擇規則,以便與適合做ClearCase的應用它的第一個特定文件讀取(而忽略其他)或目錄。

這就是爲什麼你總是會發現:

element * CHECKEDOUT 

的第一條規則,因爲當你通知你的意圖的ClearCase修改該文件,它(文件)獲得了一個名爲CHECKEDOUT特殊版本,它需要以便您能夠修改並簽入該文件。
如果該規則太低,ClearCase可能會選擇其他版本,並且您將無法簽入任何內容,因爲該文件在您的視圖中不會被視爲簽出。

+0

謝謝你馮c你讓我完全清楚,但不明白這些語法/ test_ari/karthik/*你的意思是它不適用於karthik目錄的文件,但它的子目錄的文件對嗎?/test_ari/karthik ...這些也適用於karthik目錄的文件對不對? – cody

+0

@cody:是的,這是正確的。使用'*'時,單獨的'karthik'目錄必須通過以下其他一些規則來選擇。 – VonC

相關問題