clearcase 中一些概念和操做

clearcase 中一些概念和操做
視圖
  • 經常使用命令
  • ClearCase 安裝和使用的一些FAQ
  • 參考
ClearCase具體的說是作配置管理的工具,只是SCM管理工具其中的一種。是RATIONAL公司開發的配置管理工具,相似於VSS,CVS的做用,可是功能比VSS,CVS強大的多,並且能夠與WINDOWS資源管理器成使用,而且還能夠與不少開發工具集成在一塊兒使用。可是對配置管理員的要求比較高。並且RATIONAL的產品通常都很貴。若是本身找到CRACK的話就沒有技術支持了。
 
視圖

1 本文簡介css

  Rational ClearCase 做爲一款功能強大的軟件配置管理( SCM )工具,在國內已經獲得許多企業用戶的承認並被普遍採納。爲了幫助你們更好的瞭解和使用 ClearCase ,本文將全方位解剖 ClearCase 的重要組成部分:視圖( View )。html

  2 ClearCase視圖的分類linux

   咱們知道,軟件配置管理工具的一個基本功能是創建和管理開發人員的工做空間。在 ClearCase 中,工做空間被稱爲視圖( View ),它能夠選擇所指定任務的每個文件或目錄的適當版本,並將它們呈現給使用者。通俗的講, View 就像一個過濾器,依據一組配置規則從 VOB 中將咱們須要的文件或目錄的版本選擇出來。 View 是訪問 VOB 庫中文件和目錄版本的手段,經過視圖,用戶能夠瀏覽、修改、構建可用的文件和目錄。數據庫

  在實際使用中, View 分爲兩種類型,即 Dynamic View (動態視圖)和 Snapshot View (靜態視圖,又稱快照視圖)。下面咱們來看看這兩種視圖有什麼差別:vim

  動態視圖:windows

  • 自動保持與 VOB 庫的同步更新;安全

  • 使用 MVFS 文件系統透明訪問 VOB 庫,不佔用本機空間;服務器

  動態視圖無需將文件拷貝到本地目錄,經過虛擬文件系統對 VOB 中的版本進行存取操做。網絡

  • 動態視圖的使用依賴於網絡;ide

  • 提供了共享派生對象和構建審計功能,這是動態視圖獨有的。

  • 動態視圖經過 mount 指定的 VOB 庫來獲取數據。

  動態視圖採用 mount 的方式獲取 VOB 中的數據,速度比較快,它是一個全局視圖。

  靜態視圖:

  • 只能按期經過 update 操做實現文件的更新;

  • 文件被下載到本地,佔用本地空間;

  • 能夠離線工做,斷網使用;

  • 能夠在本地進行高速編譯;

  • 使用靜態視圖佔用 ClearCase 服務器資源較少;

  • 靜態視圖經過 load 指定的 VOB 庫來查看文件。

  所以你能夠只選擇下載與你的須要有關的文件拷貝(除非你須要全部的內容),這個可經過經過專門的下載規則來實現。固然靜態視圖也能夠卸載在下載規則中被過濾和刪除的文件。

  經過對兩種視圖比較,咱們會發現它們各有千秋。在實際使用中,當你但願離線工做或只須要 VOB 庫中的部分代碼時,建議使用靜態視圖,這樣還能減小因對服務器頻繁訪問所形成的壓力。若是你使用便攜式電腦,使用靜態視圖則更加便利。

  當須要節省本地磁盤空間、但願頻繁自動更新或者僅僅是爲了查看文檔、代碼,建立動態視圖既快速又不佔用本機空間,是個不錯的選擇。

  3 如何建立視圖

  當你安裝了 ClearCase 客戶端軟件後,要作的第一件事就是建立 View 。如圖 1 所示,咱們打開 ClearCase Explorer ,以 Base ClearCase 爲例,在工具欄裏有一項「 Create View 」:

  

  圖 1

  點擊「 Create View 」後,出現圖 2 ,由於咱們是以 Base ClearCase 爲例,這裏選擇默認便可。

  

  圖 2

  根據你的需求選擇建立 Snapshot View 或者 Dynamic View ,見圖 3 所示:

  

  圖 3

  若是你要建立靜態視圖,如圖 4 ,須要指定該視圖在本機的存儲路徑(存放從 VOB 庫中 load 的文件和目錄)。

  

  圖 4

  若是你要建立動態視圖,則只須要指定一個映射盤符便可,見圖 5 。由於動態視圖是經過 MVFS 訪問 VOB 庫中的數據,不須要將數據下載到本機。

  

  圖 5

   在圖 4 和圖 5 中都有一個「 Advanced Options 」按鈕,點擊進入後見圖 6 ,這裏能夠選擇你的視圖是存儲在服務器端仍是本機。 ClearCase 的 View 數據(主要是 View database 等)既能夠存放在 View Server 中,也能夠存放在本機。通常建議存放在 View Server 中,以便組織進行統一管理。

  

  圖 6

  選擇完成後,將進入如圖 7 所示界面,這裏有一個「 Inspect Config Spec 」,用來定義該視圖的配置規約( Config Spec ),配置規約將決定哪些版本能夠看到,點擊進入:

  

  圖 7

  進入「 Inspect Config Spec 」後,咱們會發現裏面有默認的規約,見圖 8 ,能夠直接使用。一般管理員或配置經理會根據開發的須要編寫一些特定的配置規約供開發人員使用,在這裏進行選擇和修改。

  

  圖 8

  完成了以上的選擇和設置後,就能夠成功建立一個視圖了。

  4 視圖的管理

  視圖一般與任務對應,通過一段時間的使用後,用戶因須要會建立了多個視圖,這就涉及到視圖的管理和維護問題。

  4 .1 與視圖相關的基本操做

   對於普通開發人員而言,與視圖相關的操做主要包括視圖的建立和刪除,操做相對比較簡單。須要強調的是:在刪除視圖時,要使用 」Remove View」進行操做,如圖9所示。若是使用」Remove View shortcut」,則只是刪除了該視圖的快捷方式,更新後還會再次出現。

  靜態視圖有一個特有的操做是 update,須要按期進行,才能和VOB中的數據保持同步。

  

  圖 9

  4.2 關於 hijacked文件

   咱們知道,靜態視圖將 VOB中的文件下載到本地後,文件是隻讀的。若是你繞過檢出(checkout)操做,只是去掉某個須要更改文件的只讀屬性就進行操做,那麼該文件就被稱 爲「劫持」( hijacked)文件。 具體的表現爲:在 ClearCase Explorer 中,處於「 hijacked 」的元素會有一個帶對號的紅色圓圈。

  若是出現「 hijacked」,有兩種操做方式可供選擇:

  • 鼠標右擊「 Hijacked」的元素,選擇「Undo Hijacked」。爲了避免丟失你對文件所作的改動,Undo Hijacked以後,ClearCase自動生成一個後綴爲「keep」的私有文件(view private files),這時你不只取消了Hijacked,同時也保存了你的工做成果(固然若是不須要能夠刪除這個私有文件)。

  • 更新視圖( update view),而後鼠標右擊「Hijacked」的元素,選擇「Check Out」,該元素將處於「checked out」狀態,這時你能夠繼續對該元素進行改動,也能夠直接作Check in操做, 完成文件變動的入庫,造成新的版本。

  以上也給你們提供了利用靜態視圖離線或在家辦公的方法,還不錯吧。

  4.3 視圖的遷移

   該部份內容主要針對 ClearCase管理員而言。視圖的遷移主要是將View Server中的視圖在同一個機器中從一個存儲區域遷移到另一個存儲區或者跨服務器間移動。一般在視圖存儲空間不足或者爲了提高View Server性能使用新服務器時,須要進行視圖的遷移,這樣原有的視圖信息不會被破壞,客戶端基本不受任何影響,遷移後能夠正常使用原有的視圖。

  下面咱們舉例說明如何將視圖從 CCSERV1這臺視圖服務器遷移到CCSERV2上:

  4.3.1 首先對CCSERV1上的全部用戶的視圖信息進行備份。

  4.3.2 將CCSERV2安裝爲視圖服務器,並建立相應的視圖存儲路徑。

  4.3.3 作好以上準備後,就能夠進行正式的遷移工做。

  • 在CCSERV1上停掉ClearCase服務,如圖10所示。

  • 使用ccopy命令將CCSERV1的視圖拷貝到CCSERV2上新建的視圖存儲目錄中,如:

  ccopy G:\cc_Storage\views\ccview \\ccserv2\cc_ Storage\views\ccview

  上面的操做是將 CCSERV1中ccview目錄中的視圖信息拷貝到CCSERV2的ccview中,若是有多個目錄須要進行拷貝能夠寫成一個腳本統一進行。

  

  圖 10

  4.3.4 確認拷貝到CCSERV2的數據是否完整。

  4.3.5 啓動CCSERV1上的ClearCase服務,在CCSERV2上對遷移的視圖進行從新註冊。

  由於可能涉及到成百上千的視圖,單個進行註冊是不現實的,須要經過程序進行。基本的思路是先將視圖原有的註冊信息刪除,而後從新註冊到CCSERV2上去。這裏給你們一個perl語言編寫的例子供參考:

  

  1. printf ("All Views begin registering:\n");
  2.   @lines = `cleartool lsview -region soft1 -s`;
  3.   foreach $line(@lines)
  4.   {
  5.   chomp ($line);
  6.   $view_info = `cleartool lsview -region soft1 $line`;
  7.   chomp ($view_info);
  8.   $view_info =~ m/(\S+)\s+(\S+)/;
  9.   $view_tag = $1;
  10.   $view_stg = $2;
  11.   printf "\n";
  12.   printf("The old view stg is:%s\n",$view_stg);
  13.   system("cleartool rmtag -view -region soft1 $view_tag");
  14.   system("cleartool unregister -view $view_stg");
  15.   $new_view_stg = $view_stg;
  16.   chomp ($new_view_stg);
  17.   if ($new_view_stg =~ m/ccview/)
  18.   {
  19.   $new_view_stg=~ s/\\\\ccserv1\\ccview\\views/\\\\ccserv2\\ccview \\views/;
  20.   }
  21.   printf ("The new_view_stg is:%s\n",$new_view_stg);
  22.   $rc = system("cleartool register -view $new_view_stg");
  23.   if ($rc)
  24.   {
  25.   print LOG_F "$line\n";
  26.   }
  27.   system("cleartool mktag -nstart -region soft1 -view -tag $view_tag $new_view_stg");
  28.   printf "\n";
  29.   }
  30.   printf ("All Views register successfully!\n");
  上面的程序完成了將視圖在 CCSERV1上原有的信息刪除,而後從新註冊到CCSERV2的功能。這裏須要注意的是:若是存在多個region,須要分別進行處理。

  4.3.6 驗證遷移後的視圖使用是否正常。

  在客戶端檢查原有的靜態和動態視圖可否正常使用,能夠作一些常見的操做,如checkout、checkin、update和mount(僅對動態視圖)等。

  4.3.7 檢查無誤後能夠將CCSERV1上的視圖數據和視圖存儲路徑予以清除。

  至此,整個視圖的遷移工做大功告成。

  4.4 視圖的清除

  由於用戶對視圖處理不當,在通過一段時間的運做後,會出現一些垃圾視圖(即已經再也不使用但沒有被完全清除),日積月累會嚴重影響 ClearCase 服務器的性能。可使用如下命令予以完全的清除:

  cleartool rmtag -view $tag;

  cleartool rmview -force -all -uuid $uuid;

  cleartool unregist -view -uuid $uuid;

  以上命令須要的 tag 、 uuid 信息能夠經過 lsview 命令獲取,將這些命令進行組合,寫成一個腳本即可以實現批量清除垃圾視圖。

  5 總結

  本文對 Base ClearCase中的View進行了較爲詳細的介紹(UCM方式基於活動,故有所差別,本文沒有說起),但願能對你們有所啓示。因爲View自己牽涉內容較多,若有更深層次的需求,能夠參考ClearCase自帶的用戶手冊,作進一步的研究。

  本文縮略語:

  VOB(Versioned Object Base): 版本對象庫,ClearCase 數據的存儲庫,它存儲了處於版本控制下全部的文件、目錄和元數據等。

  View: 視圖,它能夠選擇所指定任務的每個文件或目錄的適當版本,並呈現它們。

  View Server:存儲View數據的服務器。

  MVFS(Multiversioned File System):多版本文件系統,它經過使用標準操做系統協議增長一個新文件系統類型,MVFS提供了透明的版本控制機制。

 
 
 
經常使用命令
 
---------------------------------------------
1.最基本的操做
cleartool co -nc xxx.cpp
cleartool ci -nc xxx.cpp

2.查看本身總共co了多少文件
cleartool lscheckout -cview -me -avobs

3.最有用的命令
cleartool man xxx
cleartool help xxx

4.新增目錄和文件
cleartool mkdir -c comment new_dir
cleartool mkelem -c comment new_file.cpp

5.放棄co某個文件
cleartool unco -keep file.cpp           //保留當前所改動的文件
cleartool unco -rm   file.cpp

6.主線、分支文件合併
//查找須要合併的文件
cleartool findmerge . -fversion /main/xxxx_path -print 
//比較文件不一樣
cleartool diff file.cpp file.cpp@@/main/xxxx_path/LATEST
//查看最新版本
cleartool lsvtree file.cpp
//合併
cleartool merge -to file.cpp file.cpp@@/main/xxxx_path/LATEST file.cpp@@/main/LATEST

7.標籤相關
//新建標籤
cleartool mklbtype -nc TEST_LABEL
//給文件打標籤
cleartool mklabel -r TEST_LABEL file.cpp
//刪除標籤
cleartool rmtype lbtype:TEST_LABEL
//給全部打上TEST_LABEL標籤的文件打上TEST_LABEL2標籤
cleartool mklabel -replace -version /main/TEST_LABEL TEST_LABEL2 *
//查找打上TEST_LABEL標籤的全部文件
cleartool find . -version "lbtype(TEST_LABEL)" -print
//查找打上TEST_LABEL和TEST_LABEL2標籤的文件
cleartool find . -element 'lbtype_sub(TEST_LABEL) && lbtype_sub(TEST_LABEL2)' -print

8.將整個目錄導入clearcase
clearfsimport -recurse /xxx/xxx/xxx/src /view/zhuj/home/vobs/cc_account
/xxx/xxx/xxx/src目錄(包括此目錄下的全部目錄和文件)被導入/view/zhuj/home/vobs/cc_account中(/view/zhuj/home/vobs/cc_account/src)

 ---------------------------------------------------------------------


1.將整個目錄導入clearcase 
clearfsimport -r‘源路徑’ ‘目標路徑’

2.加鎖

find . -name '*.*' -exec 'cleartool lock nuser userame1,username2 "%CLEARCASE_PN%"'

3.解鎖

find . -name '*.*' -exec 'cleartool unlock "%CLEARCASE_PN%"'

4.轉換格式

chtype -f compressed_file 「fileName」

5.查看VOB的基本信息和UUID

des -l vob:.

6.刪除視圖

rmview -uuid "UUID"

7.刪除lost+found

find . -name '*.*' -exec 'cleartool rmelem -f "%CLEARCASE_PN%"'

8.查詢某一天的修改記錄

cleartool lshis -r -since 07-dec

9.最基本的操做 
cleartool co -nc filename 
cleartool ci -nc filename

10.查看本身總共co了多少文件 
cleartool lscheckout -cview –me -vobs

11.make目錄和文件 
cleartool mkdir -c comment newdirectory

cleartool mkelem -c comment newfilename

12.主線、分支文件合併 
//查找須要合併的文件 
cleartool findmerge . -fversion /main/TEST_Path -print 
//比較文件不一樣 
cleartool diff filename [url=mailto:file.cpp@@/main/xxxx_path/LATEST]filename@@/main/TEST_Path/LATEST 
//查看最新版本 
cleartool lsvtree filename

//合併 
cleartool merge -to filename [url=mailto:file.cpp@@/main/xxxx_path/LATEST]filename @@/main/TEST_path/LATEST [url=mailto:file.cpp@@/main/LATEST]filename @@/main/LATEST

13.標籤相關 

cleartool mklbtype -nc TEST_LABEL 

cleartool mklabel -r TEST_LABEL filename 

cleartool rmtype lbtype:TEST_LABEL 

//給全部打上TEST_LABEL標籤的文件打上TEST_LABEL標籤 

cleartool mklabel -replace -version /main/TEST_LABEL TEST_LABEL * 

//查找打上TEST_LABEL標籤的全部文件 

cleartool find . -version "lbtype(TEST_LABEL)" -print 

//查找打上TEST_LABEL和TEST_LABEL1標籤的文件 

cleartool find . -element 'lbtype_sub(TEST_LABEL) && lbtype_sub(TEST_LABEL1)' -print

 

14.察看某目錄下的文件

ls

15.man/help命令 
cleartool man xxx 
cleartool help xxx

16.放棄co某個文件 
cleartool unco -keep filename 
cleartool unco -rm filename

17.更改VOB的Owner:

cleartool protectvob –chown root /vob/vob.vbs

18. 更改VOB的Group:

cleartool protectvob –chgrp alluser /vob/vob.vbs

19.增長Additional Group:

cleartool protectvob –add_group group1 /vob/vob.vbs

20.刪除Additional Group:

cleartool protectvob –delete_group group1 /vob/vob.vbs

21. 更改group、owner、mod

protect -r -chgrp groupname–chown username -chmod 770 .

22.建立VOB

cleartool mkvob -tag /vobtags/test_code -c "Test" "D:\Data\Tets.vbs"

23. Mount vob 
Cleartool mount /vobtags/vob 

24. 建立視圖 
cleartool mkview –tag test /ccvob/views/test.vws 

25. 設置當前視圖 
cleartool setview test

26.設置當前的activity 
cleartool setactivity activityname

27. Check out 

Check out一個文件

Cleartool checkout [-reserve][-unreserve] filename

 

Check out前目錄

Cleartool checkout .

 

Check out當前目錄下全部文件

Cleartool Checkout –nc *.*

Check out當前目錄下全部的文件和目錄中的文件

cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’ 

 

28. Check in 
Check in 一個文件

Cleartool checkin filename

Check in 當前目錄 
Cleartool checkin .

Check in 當前目錄下全部文件.

Cleartool Checkin –nc *.*

Check in當前目錄下全部的文件和目錄中的文件

cleartool find . $file -exec ‘cleartool checkin -nc –ide $CLEARCASE_PN’
-----------------------------------------------------------

 

建立view:clt mkview -tag view_abcd /view_store/view_abcd.vws
設置view: clt setview view_abcd
編輯config specification: clt edcs

建立branch type:clt mkbrtype dbg_branch1_comments
在某個文件的當前branch上, 拉出一個branch:
clt mkbranch 
dbg_branch1_comments filename.c

now you have make branch on the file, and checked it out.
you can edit it with gvim.
After changed codes, you can complie it successfully, and test the result, you can check it in.
clt ci filename.c
If you want to check out it again:
clt co filename.c

To change the branch name to a formula name you can use the command:
clt rename brtype:dbg_branch1_comments 
brtype:crnumber_branch1_comments

To see the version tree of a file:
clt lsvtree -g filename.c

To see which files is included in a branch, you can edit a script like this find_branch.sh:

echo "$1"
cleartool find -avobs -element "brtype("$1")" -nxn -print | xargs cleart
ool ls -s|grep "$1"

To compare files, I write a useful script file mydiff.

You can use xcc& to open graphic clearcase. So you can do most thing through the menu.
---------------------------------------------------------------

clearcase實用命令

查找分支上的文件
find . -branch brtype(branchname) -print 
建立分支
mkbrtype -c "comment" branchname 
建立Label
mklbtype -c "comment" labelname 
用於 cleartool find 查詢:
cleartool find -all -version 「lbtype(REL1)」 -print
find . -version 'lbtype(LABEL)' -print 
鎖分支命令
lock brtype:branchname 
建立trigger
trigger已存在
mktrtype mktrtype -replace -element -all -preop mkelem -nusers shiquan -exec http://www.cnblogs.com/samcn/admin/file://192.168.1.5/cc_trigger/false.bat NO_RM_MK
trigger不存在
mktrtype mktrtype -element -all -preop mkelem -nusers shiquan -exec http://www.cnblogs.com/samcn/admin/file://192.168.1.5/cc_trigger/false.bat NO_RM_MK
-------------------------------------------------------------

開發人員經常使用命令
1.       創建vob
mkvob –tag /vobtags/vob1 –c 「 VOB for project1」 /vobstore/vob1.vbs

2.       Mount vob
Cleartool mount /vobtags/vob1

3.       建立視圖

cleartool mkview –tag test1 /ccvob/views/test1.vws

4.       設置當前視圖
cleartool setview test1

5.       在VOB的根目錄下到入數據:
clearfsimport –recurse –c 「 comments 「 /home/setup/* . ,注意命令的最後爲圓點,表示當前目錄。

6.       改變VOB的Owner: 
cleartool protectvob –chown root /vobstore/vob1.vbs

7.       改變VOB的Group:
cleartool protectvob –chgrp alluser /vobstore/vob1.vbs

8.       增長Additional Group:
cleartool protectvob –add_group group1 /vobstore/vob1.vbs

9.       刪除Additional Group:
cleartool protectvob –delete_group group1 /vobstore/vob1.vbs
修改vob中數據的權限信息

10.   將jmccboss VOB 中全部元素Owner 改爲ccadmin,Group改爲jmccboss:
Cleartool protect –chown ccadmin –chgrp jmccboss .
.爲vob根目錄

11.   將jmccboss VOB 中全部元素權限 改爲對ccadmin(rwx),jmccboss(rwx),其餘VOB附屬組成員(r-x):
例: Cleartool protect –recurse –chmod 775 . ,

12.   Mount vob
Cleartool mount /vobtags/vob1

13.   建立視圖
cleartool mkview –tag test1 /ccvob/views/test1.vws

14.   設置當前視圖
cleartool setview test1

15.   在VOB的根目錄下到入數據:
clearfsimport –recurse –c 「 comments 「 /home/setup/* . ,注意命令的最後爲圓點,表示當前目錄。

16.   Check out 
Cleartool checkout [-reserve][-unreserve] b.c    Check out一個文件
Cleartool checkout .   Check out當前目錄
Cleartool Checkout –nc *.*    Check out當前目錄下全部文件
cleartool find . $file -exec ‘cleartool checkout -nc $CLEARCASE_PN’ 
Check out當前目錄下全部的文件和目錄中的文件

17.   Check in
Cleartool checkin b.c    Check in 一個文件
Cleartool checkin .    Check in 當前目錄
Cleartool Checkin –nc *.*   Check in 當前目錄下全部文件.
cleartool find . $file -exec ‘cleartool checkin -nc –ide $CLEARCASE_PN’ 
Check in當前目錄下全部的文件和目錄中的文件 

18.   創建一個snapshot view
cleartool mkview –tag pat_2_snapshot_view –snapshot /viewstore/pat/myviews.vws

19.   編輯config spe
Cleartool edcs

20.   更新snapshot view
cleartool update pat_2_snapshot_view

21.設置當前的activity
cleartool setactivity activityname
      gaibian leixing: chtype binary_delta_file Estonian.r 

 
ClearCase 安裝和使用的一些FAQ
 
1、 安裝手冊裏面要求創建CLEARCASE_PRIMARY_GROUP用戶環境變量,變量值爲CLEARCASE_USERS,同時須要訪問clearcase的用戶都須要爲該組的成員,如何理解?
 
其 實這種方法是比較生硬的方法,目的是讓CLEARCASE_USERS成爲全部clearcase用戶的主要組,而後clearcase根據 CLEARCASE_USERS這樣一個組來判斷那些人是clearcase的用戶,解決方法是不須要創建 CLEARCASE_PRIMARY_GROUP用戶環境變量,直接把用戶管理裏把CLEARCASE_USERS設置爲用戶的主要組。 
這樣設置就不須要設置環境變量了,客戶端和服務器端能夠實現同步,一勞永逸。 
 
2、 關於clearcase_albd的一些注意事項
 
一、 最好事先就創建好clearcase組和clearcase_albd用戶
二、 安裝輸入的clearcase_albd的用戶須要和用戶管理裏的一致
三、 須要把clearcase_albd用戶升爲管理員,不然之後會出現一些問題。
四、 平時在使用過程當中絕對不要更改clearcase_albd的密碼,不然會引起不可預知的問題 
 
3、 第一次運行siteprep.exe須要注意的一點!!
 
若是在一個服務器上使用siteprep安裝客戶端發佈區域的時候,有一點必定要切記:第一次配置時不要大意,必定要考慮清楚在配置,由於此次配置的選項將一直有效(除非從新安裝系統),雖然之後能夠再次運行siteprep,可是之後的設置就不再能生效了。 
 
4、 安裝完clearcase之後,在Clearcase Storage設置的時候,不管如何不能指定存儲區域,每次出現錯誤信息:
Tring to create Vob Storage entry in Clearcase 
registry with a UNC path of "\\svr\cctg_g\Vobs" 
Svrstor :error unable to create security to descriptor for 
\\svr\ccstg_g\Vobs,對該特別用法,安全ID的次級受權部分無效。 
 
在 安裝過程當中出現了這個問題,並且很奇怪的是,當指定存儲區域爲NTFS分區的時候,就出現錯誤,當指定爲FAT32分區的時候,就不出現錯誤。很是奇怪。 個人解決方法是先創建VIEWS和VOBS的共享目錄,直接指定爲咱們的存儲區域,先裝起來用用,而後卸載clearcase ,從新安裝,再次設置Storage就行了。 
 
5、 客戶端創建VIEW之後,不能UPDATE ,提示沒有空間分配。
 
在服務器上的 Scheduled Job中運行享用的View Space的Job就能夠了。 
 
6、 數據導入太慢了,簡直沒法忍受。
 
把 數據導入vob,有兩種方法,一種是使用clearexport_ffile 和 clearimport在msdos下操做,一種是使用ccimportwizard 有圖形界面執行導入導出的操做,單個文件我以爲ccimportwizard的導入導出速度比clearimport要快。可是若是導入一個很是大的目錄 結構,在起始分析這個目錄結構的時候,ccimport慢的不可忍受,常常一連幾個小時沒有反映。有一個變通的解決方法(該方法並很差),先使用 ccimportwizard把大的目錄結構導入,好比把hpc\linux 這樣一個兩層的空目錄導入,而後在分別把linux下的arch,kernel,init……等等作成一個導入列表,這樣每次導入的文件都不是太大,相比 而言,能看到較爲頻繁的進度提示,整體感受的速度要快一些。 
 
7、 數據沒法恢復怎麼辦?
 
備 份出去的VOB不能恢復,存在這樣一種可能性:權限設置出現混亂,能夠嘗試這樣處理:你在register以前,用D:\Program Files\Rational\ClearCase\etc\utils>fix_prot 清除vob庫已有的權限, 設立新的權限(域/用戶)
方法:cleartool>register –vob \\dc1\ccstg_g\VOBs\HPC.vob
cleartool>mktag -vob –tag \HPC \\dc1\ccstg_g\VOBs\HPC.vob 
附:修復VOB的完整步驟
修復VOB的步驟: 
首先中止CC服務。 
其次,將無缺的備份覆蓋之前的VOB 
而後,啓動CC服務 
進行以下修復工做 
Fixed the permission of Vob storage location by running 
1.# \etc\utils\fix_prot -root -chown vobowner -chgrp vob_group 
(這裏解釋一下
#是指安裝CC的目錄; 
vob_group在寫groupname是若是groupname中帶空格需加「」 
例如,「Domain Users」 
指global pathname Eg. \\jcserver\ccstg_h\VOBs\jcvob.vbs ) 
2.# \etc\utils\fix_prot -r -chown vobowner -chgrp vob_group 
-chmod 775 
屏幕顯示:Re-protect "\\jcserver\ccstg_h\VOBs\jcvob.vbs"? [no] Y 
 
9.Reregister the VOB. 
 
#cleartool register -vob \\dc1\ccstg_g\vobs\hpc
(注意,是指global pathname) 
#cleartool mktag -vob -tag \hpc
(注:舉例 \test) 
 
10.Lock the VOB 
#cleartool lock vob: 
 
11. Check the VOB consistency. 
 
#cleartool checkvob -pool 
(CLI屏幕出現以下提示: 
C:\Program Files\Rational\ClearCase\etc\utils>cleartool checkvob -pool 
\\ebserr\ccstg_e\VOBs\test.vbs 
cleartool: Warning: Cannot get view info for current view: not a ClearCase obj 
cleartool: Warning: Filesystem object names will not be generated. 
Do you want to continue anyway? [no] y 
這並非個錯誤,只是個警告信息告訴你你沒有在View內操做。你能夠繼續或者是set a view而後再運行以上的命令。) 
Any error returned? Please refer to Chapter 16 "Using checkvob" of 
"Administering ClearCase". 
 
12. Unlock the restored VOB 
#cleartool unlock vob: 
 
13. Mount the restored VOB 
#cleartool mount 
 
8、如何刪除VOB的TAG?
可使用cleartool的rmtag命令 如 rmtag –vob –all \HPC 
 
9、 如何進行VOB的安全設置設置?
 
這裏能夠參考一篇文檔:
必定要將文件格式設置爲NTFS,這樣可以更加靈活地設置VOB和VIEW的存儲目錄的安全權限,而不是僅僅使用缺省的對「everyone」的「徹底控制」權限。如下舉例說明如何設置如下的權限: 
目標1:普通用戶不能在VOB和VIEW的存儲目錄上新建和刪除目錄、文件;管理員有所有的權限 
目標2:普通用戶和管理員能夠進行平常的ClearCase操做 
一. VOB 
1. 「ClearCase_Storage」目錄: 
 
共享: 
Domain\ccadmgroup: 徹底控制 
Domain\clearcase: 徹底控制 
Domain\everyone:徹底控制 
安全: 
Domain\ccadmgroup: 徹底控制 
Domain\developgroup: 讀取及運行、列出文件夾目錄、讀取 
注意: 不要將此目錄的權限設置重置於其下的子目錄 
 
2. 「VOBs」 目錄: 
共享:無 
安全: 
Domain\ccadmgroup:徹底控制 
Domain\developgroup: 讀取及運行、列出文件夾目錄、讀取 
注意: 不要將此目錄的權限設置重置於其下的子目錄 
 
3. 「XXX.vbs」目錄: 
此目錄的安全權限必定不能夠更改,使用缺省的權限! 
二. VIEW 
1. 「ClearCase_Storage」目錄: 
共享: 
Domain\ccadmgroup: 徹底控制 
Domain\clearcase: 徹底控制 
Domain\everyone:徹底控制 
安全: 
Domain\ccadmgroup: 徹底控制 
Domain\clearcase: 徹底控制 
Domain\developgroup: 修改、讀取及運行、列出文件夾目錄、讀 
取、寫入 
注意: 不要將此目錄的權限設置重置於其下的子目錄 
 
2. 「VOBs」 目錄: 
共享:無 
安全: 
Domain\ccadmgroup:徹底控制 
Domain\developgroup:修改、讀取及運行、列出文件夾目錄、讀 
取、寫入 
注意: 不要將此目錄的權限設置重置於其下的子目錄 
 
3. 「XXX.vws」目錄: 
此目錄的安全權限必定不能夠更改,使用缺省的權限!
須要提醒注意的是,這裏的安全管理不是指VOB裏內容的權限管理,而是在WINDOWS這一層的安全設置。 
 
10、 如何備份VOB數據庫
 
基本上就按照以下步驟
  • lock vobs 
  • stop cc services 
  • scopy vob backupfolder 
  • start cc services 
  • unlock vobs
這 裏只能使用scopy由於須要把文件的權限設置等信息也備份下來,可是須要注意的是,scopy在WINDOWSNT中須要安裝Resource KIT ,不過在咱們的WINDOWS2000中,沒有必要使用改命令,windows2000的xopy命令就能夠拷貝權限信息,只要加上/o參數就能夠了。
如: g:\Clearcase_Storage> xcopy vobs d:/o/i/s
這裏推薦一我的寫的一個批處理,不但能夠自動的備份,並且每次備份的數據能夠造成一個以日期標識的文件夾,很是方便。
  1. REM ClearCase Server Backup File.
  2. REM Write By Denver
  3. REM Version 1.0
  4. REM 2002/10/09
  5. REM
  6. REM LOCK the CC VOBs
  7. REM
  8. echo Lock the CC VOBs now...
  9. cleartool lock vob:\VOB
  10. REM
  11. REM Stop the CC Services
  12. REM
  13. Echo Stopping the CC Services...
  14. net stop "Atria Cred Manager"
  15. net stop "Atria Location Broker"
  16. net stop "Atria Lock Manager"
  17. Echo CC Services Has been stopped
  18. REM
  19. REM Make a new backup folder for CC VOB Backup
  20. REM
  21. cd d:\backup\
  22. md "d:\backup\%date%"
  23. REM
  24. REM Copy CC VOB to backup folders
  25. REM
  26. Scopy VOB d:\backup\%date% /i /o /s
  27. REM
  28. REM Start the CC Services
  29. REM
  30. Echo Start the CC Services
  31. net start "Atria Cred Manager"
  32. net start "Atria Location Broker"
  33. net start "Atria Lock Manager"
  34. Echo CC Services Has been started
  35. REM
  36. REM Unlock the CC VOBs
  37. REM
  38. Echo Unlock the CC VOBs
  39. cleartool unlock vob:\VOB
  40. Echo CC VOBs has been unlocked
  41. Echo CC VOB Backup Task has been finished at %date%
 
11、我建立了view,爲何個人ClearCase Explorer看不到?
有的時候會出現這樣的狀況,解決方法是,直接選擇「Add view shortcut」而後選擇你的view所在的目錄直接肯定便可。
 
參考
  • 視圖攻略
    http://www.cnblogs.com/samcn/archive/2011/02/25/1964938.html
  • 百科
    http://baike.baidu.com/view/973835.htm?func=retitle
  • ClearCase 安裝和使用的一些FAQ
    http://se.csai.cn/casepanel/CM/No060.htm
  • 一篇帖子
    http://www.scmlife.com/thread-5946-1-1.html
  • 某人蒐集的命令
    http://www.cnblogs.com/samcn/archive/2011/08/11/2135339.html
    http://mindream.wang.blog.163.com/blog/static/23251222200762025011522/
  • 一些搜索到命令
    http://www.scmlife.com/thread-20691-1-1.html
相關文章
相關標籤/搜索