2017-06-20 81 views
2

我希望能夠在Linux上的快照視圖中作爲符號鏈接文件的文件上使用cleartool命令。在快照視圖的符號鏈接上的Clearcase Linux命令

>cd /my/build/area/ 
>ls -l file.c 
lrwxrwxrwx 1 sword none  123 Jun 19 16:57 file.c -> /my/snapshot/view/file.c 
>cleartool co file.c 
cleartool: Error: Not an object in a vob: "file.c". 

同樣,當我嘗試做cleartool更新要做到這一點,我得到

cleartool: Error: Unable to determine version for VOB root directory element 
cleartool: Error: Unable to access "/my/build/area/file.c" No such file or directory." 

我能cd對視圖的文件並沒有問題,請使用cleartool。但cleartool對符號鏈接的視圖中的文件的操作給我的錯誤。

我問的原因是我的編譯環境由一個本地目錄組成,每個文件的符號鏈接都包含在快照視圖中。有沒有辦法可以做到這一點,而無需cd到快照視圖?

注意:我在cshell中使用ln -s命令在我的構建區域中創建文件。我沒有使用cleartool ln。我不是試圖將文件與vob或其他vob進行符號鏈接。值得注意的是,'cleartool update'符號鏈接的嘗試會寫入視圖.updt文件,因此,當符號鏈接上的cleartool命令失敗時,該工具的某些部分具有視圖上下文。

+0

我已更新我的回答以解決您的評論。你在快照視圖(Java/maven?C#,...?)中開發了什麼樣的項目? – VonC

回答

0

有沒有辦法可以做到這一點,而無需cd到快照視圖?

也許不是:做一個包裝腳本這將解決符號鏈接,並做相應的結算會比試圖使直接cleartool co工作,對符號鏈接本身更容易。


快照視圖存儲在我們不希望混亂與構建工件共同的網絡驅動器,我們並不需要建立網絡流量。目前,我們在「構建區域」工作,並在視圖內進行清晰的操作。我希望把它因此,所有操作都可以在構建區域

這是一個構建配置問題進行:你應該能夠在您的ClearCase視圖工作而對於二進制配置構建於一個生成單獨的文件夾(視圖外部):不需要符號鏈接。

詳情:

正如我在「clearcase symbolic link file not visible from a snapshot view」所提到的,你可以看看「Symbolic links in snapshot views」:

在加載快照視圖的情況下,鏈接視爲VOB鏈接(那些指向VOB內的對象)和非VOB鏈接(指向VOB外的那些鏈接)。

  • 遵循硬VOB鏈接;符號鏈接是複製創建的。如果VOB鏈接無法解析,則會導致錯誤。
  • 如果可能的話,非VOB鏈接已解決,但如果無法解析,則不會出現錯誤。

在Linux或UNIX系統上,如果加載規則選擇符號鏈接,則將鏈接和鏈接目標複製到快照視圖中(無論加載規則是否選擇鏈接目標)。
與動態視圖一樣,您不能檢出符號鏈接;您必須簽出符號鏈接目標。

所以你需要檢查:

  • 您的符號鏈接(不cleartool ln)就可以解決
  • 快照配置規範有規則裝載的是符號鏈接

但在你情況下,你在ClearCase快照視圖之外。

+0

你可能想用最後一段來引導。 –

0

ClearCase需要視圖上下文來確定你指向的對象是什麼。由於您不在視圖中,因此無法解析此鏈接以查找實際的文件元素。

你有什麼理由不能在視圖中工作嗎?

+0

快照視圖存儲在通用網絡驅動器中,我們不希望與構建工件混淆,並且我們不需要通過網絡建立流量。目前,我們在「構建區域」工作,並在視圖內進行清晰的操作。我想做到這一點,所有的操作都可以在構建區完成。 – swordfish45

+0

考慮到ClearCase處理確定快照視圖上下文的方式,您不能在視圖中使用非ClearCase符號鏈接來執行ClearCase命令。有沒有理由不能使用動態視圖,這將消除「混亂」問題並可能降低您的存儲需求?或自動查看? –

相關問題