################
1.如何用sourcesafe 創(chuàng)建一個數(shù)據(jù)庫來進(jìn)行工程的存放?
visual source safe環(huán)境是基于c/s構(gòu)架的,
一個相當(dāng)于服務(wù)器端,叫做visual source safe Amin 負(fù)責(zé)創(chuàng)建、管理數(shù)據(jù)庫以及用戶的創(chuàng)建、管理。
創(chuàng)建數(shù)據(jù)庫:Tools->Create database
創(chuàng)建當(dāng)前打開數(shù)據(jù)庫的用戶: Users->Add user
另一個相當(dāng)于客戶端,叫做visual source safe explorer 負(fù)責(zé)一般的代碼管理,
諸如:check in ,check out, show history,get latest version,label,share等等
其實在VC6.0級以上版本中的project->source control 就已經(jīng)集成了很多客戶端的功能。
################
2. 一些常用操作
check in 表示提交一個版本。
check out 表示從數(shù)據(jù)庫中把一項工程拿出來了。
只有在check out 的狀態(tài)下才可以編輯。
每check in一次產(chǎn)生一個新的版本。
################
3.如何用sourcesafe管理(查找歷史版本、label) 存儲的各個版本呢?
<1>label。
如果某個工程用source safe進(jìn)行管理。
當(dāng)這個工程編輯的比較成熟的時候,把它往數(shù)據(jù)庫check in的時候,需要把基本情況
說明一下,做一些comment之類的,這樣以后查找這個版本時方便些。
做法:
打開visual source safe explorer,登陸相應(yīng)的數(shù)據(jù)庫,在all projects中選中要查找的工程,
點擊右鍵,選中l(wèi)abel,然后起個label名稱,在comment欄里面將當(dāng)前版本的情況說明一下。
<2>查找歷史版本。
打開visual source safe explorer,登陸相應(yīng)的數(shù)據(jù)庫,在all projects中選中要查找的工程,
點右鍵,選擇show history,選ok,在出現(xiàn)的各個版本中選中要的版本,點擊get然后選擇
要把這個版本放到那個目錄下。如果是label過的版本圖標(biāo)就會顯示像文件夾的樣子。
#################
4.如何使得同一個文件被多個工程共享使用,并且同步?
在VC6.0及以上的版本中都可以。
<1>如果使用visual source safe進(jìn)行代碼管理的化,那么就非常好辦。
比如在ProjectA中有一個share.h文件想要在ProjectB中也有,
以VC6.0下的操作為例,
則打開ProjectB,在Project->source control->share from source safe
然后選中projectA,在左邊"File to share" 里面選中share.h,這樣就完成了。
可以在source safe 中看到, share.h的圖標(biāo)由一個但文檔的樣子變成一個多層的樣子,表示多個地方在共享它。
在這個操作以后,在source safe數(shù)據(jù)庫中ProjectA和ProjectB
的項目里面就都有了share.h文件,在實際的工作目錄下也都能看到share.h.
在編輯share.h的時候,某一時刻僅只能有一個工程能對share.h有修改的權(quán)限(check out的狀態(tài)下)。
只不過要注意,VC6.0有個小毛病,就是當(dāng),ProjectA把share.h check out時,ProjectB也能同時將
share.h "check out"(實際上只是提示share.h已經(jīng)被check out了),此時ProjectB不能修改share.h
只能查看。當(dāng)ProjectA將share.h 修改完并且check in以后,按說ProjectB就可以對share.h進(jìn)行操作了,
但是如果剛才在ProjectA修改share.h的時候,ProjectB將share.h check out 了,那么此時ProjectB必須
先將share.h check in一下再check out進(jìn)行修改.
這里還是以這個為例,簡述一下四個share.h的關(guān)系。
(1)database里面ProjectA項目下的share.h
(2)database里面ProjectB項目下的share.h
(3)實際ProjectA工作目錄下share.h
(4)實際ProjectB工作目錄下share.h
(1)和(2)由database通過share達(dá)到同步,可以看成一個文件
(1)和(3)通過source safe 映射,通過check in 和check out操作保持同步
(2)和(4)同上.
<2> 如果沒有使用source safe進(jìn)行代碼管理,那么就需要在VC中打開工程ProjectB然后
在FileView里面點右鍵,在出現(xiàn)的菜單中選擇Add files to project 然后在
ProjectA 的目錄中選中share.h文件把它加載到projectB的工程中,但是要注意這個時候在ProjectB
的目錄中是沒有share.h這個文件的,在打開的工程中有這個文件也是從ProjectA這個目錄里面零時加載
進(jìn)來的,而且在ProjectB可以對其進(jìn)行修改(實際上就是把ProjectA中的share.h顯示出來了)。
如果此處修改了,那么ProjectA在打開時,share.h就已經(jīng)是修改過的了。這中方法的毛病很多。
比如文件修改的不可預(yù)見性,還有就是當(dāng)工程ProjectA移動或者是更換名字后,ProjectB便找不到這個文件了。
#################
5. 如何將一個工程和source safe 解除聯(lián)系?
打開工程:
project->source control -> remove from source control
不過要注意,當(dāng)斷開聯(lián)系后,這些文件還是只讀屬性,所以要想
修改他們需要把文件屬性修改一下。