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