国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

PowerBuilder 8.0 開發(fā)環(huán)境集成使用版本控制

2024-07-21 02:10:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

 
1       pb開發(fā)環(huán)境集成版本控制的介紹
pb6 至 pb8集成版本控制個(gè)不相同,在這里僅以pb8為例介紹集成使用版本控制。
1.1    設(shè)置
從pb8開始,有了工作區(qū)間workspace的概念。開發(fā)者的工作是在一個(gè)工作區(qū)間中進(jìn)行的。版本控制也是在工作區(qū)間中設(shè)置的。

查看workspace的屬性,在第3頁(yè)(source control)中,設(shè)置版本控制的使用連接。



圖一:pb8設(shè)置集成使用版本控制的連接

下面對(duì)其中的各項(xiàng)進(jìn)行說(shuō)明:

      source control system   版本控制系統(tǒng)。在這里選擇要使用的版本控制系統(tǒng)。這里列出來(lái)的是操作系統(tǒng)中安裝了的,能夠集成到開發(fā)環(huán)境中的版本控制系統(tǒng)。

                             userid   登錄用戶賬號(hào)。是開發(fā)者在所選擇的版本控制系統(tǒng)中所擁有的登錄賬號(hào)。

                             project   在版本控制系統(tǒng)數(shù)據(jù)庫(kù)中所存在的,本次開發(fā)所需要的項(xiàng)目。

         local root directory   本地的根目錄。這個(gè)路徑或者它的子目錄要包含workspace。

                           connect   連接版本控制。注意:有的版本控制在project中不需要填寫,在連接的時(shí)候選擇project。

                      advanced…   設(shè)置高級(jí)屬性。相當(dāng)于執(zhí)行菜單entry→source control→advanced options(在library painter中的菜單)。

require comments on check-in   
在鍵入的時(shí)候需要填寫注釋說(shuō)明。如果選中該項(xiàng),在check-in的時(shí)候,ok按鈕是灰色的,除非你填寫了注釋說(shuō)明。

this project requires that i sometimes work offline
選中這一項(xiàng),在每次打開這個(gè)workspace的時(shí)候,不會(huì)主動(dòng)連接,而是出現(xiàn)一個(gè)對(duì)話框,詢問是聯(lián)機(jī)還是脫機(jī)(如圖二)。



圖二:詢問是否脫機(jī)工作

delete powerbuilder generated object files
這一項(xiàng)是決定是否自動(dòng)刪除pb生成的對(duì)象的源文件(*.sr?)。在執(zhí)行版本控制的某些活動(dòng)的時(shí)候,比如getlastversion、check-out、check-in、refresh status等操作的時(shí)候,pb會(huì)從版本控制系統(tǒng)中取得對(duì)象的源代碼放置到本地。如果選中該選項(xiàng),pb會(huì)在執(zhí)行完操作以后,自動(dòng)刪除這些文件。如果不選中該選項(xiàng),這些臨時(shí)的源文件將保留在本地。使用某些版本控制系統(tǒng)比如perforce, clearcase, or continuus source control systems等,不可以選擇該選項(xiàng)。
另外,有些操作,即便是選擇了該選項(xiàng),可能也不會(huì)完全的清除這些臨時(shí)的源文件。比如執(zhí)行refresh status操作。如果不想保留這些文件,需要你手工清除。我的辦法是使用一個(gè)批處理文件(delsr.bat),內(nèi)容是del *.sr?來(lái)刪除這些文件。

perform diff on status update
取消了該選項(xiàng)選擇,你將看不到本地對(duì)象與版本控制系統(tǒng)數(shù)據(jù)庫(kù)的對(duì)象是否有差別。即:refresh status命令將無(wú)效。

suppress prompts to overwrite read-only files
這個(gè)選項(xiàng)選擇時(shí)候,在某些時(shí)候(具體忘記了),提示你是否覆蓋。該選項(xiàng)可以提醒防止使用舊的文件覆蓋新的文件。

status refresh rate
自動(dòng)刷新狀態(tài)的時(shí)間,以分鐘為單位。這里所指的狀態(tài)是pb的對(duì)象是否被別人鎖定,或者是否被更改而與本地的不相同。

這些可以參照該對(duì)話框的聯(lián)機(jī)幫助,由英文的原文說(shuō)明,建議閱讀一下。
1.2    使用
使用版本控制之前,首先解釋一下各種狀態(tài)及顯示的圖標(biāo)。

名稱



說(shuō)明

加號(hào)



表示這個(gè)對(duì)象還沒有加入到版本控制數(shù)據(jù)庫(kù)中。

圓點(diǎn)



表示這個(gè)對(duì)象加入到了版本控制,并且處在常規(guī)狀態(tài)。可以被檢出。

綠勾



表示這個(gè)對(duì)象被當(dāng)前的開發(fā)者檢出/鎖定。

紅叉



表示這個(gè)對(duì)象被其他的開發(fā)者檢出/鎖定。(其他人不可以再檢出。)

問號(hào)



表示這個(gè)對(duì)象的狀態(tài)未知,一般是還不知道是否與服務(wù)器的對(duì)象不同。

圓圈



表示這個(gè)對(duì)象與服務(wù)器上的內(nèi)容不相同。如果是本人檢出,則不出現(xiàn)該圖標(biāo)。

有關(guān)這個(gè)內(nèi)容可參見pb 的html幫助(compiled html help file)中:

powerbuilder user’s guide

the powerbuilder environment

chapter 3 using source control

using a source control system

對(duì)此有英文原版解釋。

 

l         添加到版本控制中

當(dāng)我們剛剛使用一個(gè)project,要將所有的對(duì)象加入到版本控制中;

當(dāng)我們新建了一些對(duì)象,要將他們加入到版本控制中。我們可以選擇要加入的對(duì)象,鼠標(biāo)右鍵單擊,在菜單中選擇“add to source control…”添加到版本控制中。

在下面的幾種情況下,我們可以在target上單擊鼠標(biāo)右鍵,選擇add to source control:

1、  整個(gè)項(xiàng)目第一次要加入版本控制;

2、  新增了許多對(duì)象,分布在不同的pbl中,尋找起來(lái)較麻煩。

注:有關(guān)版本控制的命令,大部分存在于library painter的菜單entry->source control中。對(duì)象的右鍵相關(guān)菜單根據(jù)情況會(huì)選擇出現(xiàn)。

 

l         檢出對(duì)象進(jìn)行工作

我們要對(duì)某個(gè)對(duì)象進(jìn)行修改的時(shí)候,需要將對(duì)象檢出。我們選擇這個(gè)(些)對(duì)象,執(zhí)行“check out”命令。對(duì)象即被當(dāng)前操作用戶檢出,并且當(dāng)前用戶所檢出的對(duì)象被更新為服務(wù)器上最新的版本。

 

l         檢入對(duì)象提交更新

將對(duì)象修改完畢,需要提交到服務(wù)器上,對(duì)要提交的對(duì)象執(zhí)行“check in”命令即可。這樣將服務(wù)器上的對(duì)象用檢入用戶本地的對(duì)象所更新。多數(shù)的版本控制系統(tǒng)是將該對(duì)象以新的版本號(hào)來(lái)保存。

 

l         檢查更新

我們工作了一段時(shí)間,同伴們修改了其中的某些對(duì)象并提交到了服務(wù)器中。我們要檢查服務(wù)器上的那些對(duì)象與本地的不同?我們需要執(zhí)行“refresh status”命令。可以通過(guò)兩種途徑來(lái)執(zhí)行:

1、  我只想檢查某幾個(gè)指定的對(duì)象,選擇這些對(duì)象,執(zhí)行該命令;

2、  我要檢查所有的對(duì)象,或者排除少數(shù)的對(duì)象。選擇target對(duì)象,選擇對(duì)所有對(duì)象操作。然后在彈出的對(duì)話框中去掉不需要檢查的對(duì)象(或者默認(rèn)選擇全部)執(zhí)行命令。

提示:選擇target可以方便的對(duì)大量的對(duì)象執(zhí)行操作,但是要小心不要覆蓋自己的工作。建議對(duì)通過(guò)target對(duì)大量對(duì)象操作的時(shí)候,采用對(duì)話框中默認(rèn)選擇的對(duì)象。

 

l         更新本地對(duì)象

在適當(dāng)?shù)臅r(shí)候(比如操作者執(zhí)行了refresh status,或者pb自己更新了狀態(tài))我們知道了本地某些對(duì)象與服務(wù)器上的不一致,我們可以執(zhí)行g(shù)et last version…命令來(lái)同步對(duì)象。

 

l         對(duì)target對(duì)象執(zhí)行命令

對(duì)target執(zhí)行命令的時(shí)候,常常會(huì)出現(xiàn)一個(gè)窗口,詢問是對(duì)所有對(duì)象操作還是僅僅對(duì)target對(duì)象執(zhí)行操作。如果對(duì)所有對(duì)象執(zhí)行操作,pb還會(huì)彈出一個(gè)選擇窗口來(lái)供開發(fā)者選擇要操作的對(duì)象。如圖三



圖三:選擇操作的對(duì)象范圍

對(duì)target對(duì)象執(zhí)行某些命令可以方便的對(duì)大量的對(duì)象執(zhí)行操作。但是偶爾使用不當(dāng)會(huì)覆蓋掉自己的辛勤勞動(dòng)。下面將對(duì)target執(zhí)行各種命令的情況作一下綜合說(shuō)明。

refresh status,刷新狀態(tài)。如果對(duì)所有對(duì)象執(zhí)行該命令的時(shí)候,談出的選擇窗口中列出了所有的對(duì)象,但并不一定是所有對(duì)象都選中的。只有那些狀態(tài)還不明了的(也就是圖標(biāo)的旁邊有問號(hào)的對(duì)象)。

get last version,同步對(duì)象的版本。彈出的選擇窗口列出了所有的對(duì)象,但是默認(rèn)選中的是pb認(rèn)為內(nèi)容不一致的,也就是圖標(biāo)前面有圓圈的對(duì)象。其他的對(duì)象也可以選擇,但是建議不要點(diǎn)擊右邊的“全部選中”按鈕,如果你有正在檢出修改的對(duì)象,這樣操作會(huì)將你對(duì)他們的修改覆蓋掉。

check-out,檢出對(duì)象。彈出的選擇窗口列出了所有未被檢出的對(duì)象,也就是你可以執(zhí)行檢出的對(duì)象。默認(rèn)情況下所有的對(duì)象都沒有選擇。除非的確有必要,一般不要點(diǎn)擊右邊的“全部選擇”按鈕檢出所有對(duì)象。

check-in,檢出對(duì)象。談出的選窗口列出了所有被你檢出的對(duì)象,并且默認(rèn)的情況下全部是選中的。

總之,通過(guò)target對(duì)大量對(duì)象執(zhí)行操作是很方便的,一般情況下認(rèn)同它默認(rèn)選擇的列表即可。盡管有時(shí)候并不能夠及時(shí)的更新狀態(tài)信息,但是要選中全部對(duì)象進(jìn)行操作,尤其是get last version操作的時(shí)候,要小心。

 

l         show difference…

顯示不同。這個(gè)命令是對(duì)比本地的版本和服務(wù)器上最新的版本之間的差異。如果沒有差異,則顯示對(duì)話框告知文件相同。如果有差異,會(huì)顯示版本控制系統(tǒng)的對(duì)比窗口。

l         show history…

顯示版本歷史。選擇該命令,將打開版本控制系統(tǒng)的顯示版本歷史對(duì)話框。在該對(duì)話框中如果選擇了兩個(gè)版本,執(zhí)行diff命令,可以比較這兩個(gè)版本的差異。

 
1.3    q & a
下面對(duì)常見的一些問題作一下說(shuō)明。

1.         我在對(duì)所有對(duì)象執(zhí)行操作的時(shí)候,常常沒有執(zhí)行完成就中斷了。

答:的確有這樣的現(xiàn)象。我發(fā)現(xiàn)往往是版本控制系統(tǒng)慢的情況更容易出現(xiàn)這樣的問題。更有甚者,可能會(huì)將pb這個(gè)關(guān)掉。遇到這樣的情況,只能夠選擇部分的對(duì)象分批分次執(zhí)行操作。你可以一次操作一個(gè)pbl內(nèi)的對(duì)象,或者一個(gè)pbl內(nèi)一半對(duì)象執(zhí)行操作。

2.         我增加了一些對(duì)象,如何讓我的同伴獲得。

答:只要你將他們執(zhí)行add to source control,就可以了。版本控制系統(tǒng)會(huì)記住這些對(duì)象存在于哪些pbl中。
你的同伴這樣操作:在library painter中,選擇這個(gè)pbl,對(duì)他執(zhí)行g(shù)et last version(通過(guò)點(diǎn)擊菜單entry→source control system→get last version執(zhí)行。pbl的右鍵菜單沒有這些相關(guān)的命令。新增的對(duì)象會(huì)列在選擇列表中,并且默認(rèn)是選中的。或者,在通過(guò)target對(duì)整個(gè)應(yīng)用執(zhí)行g(shù)et last version,所有服務(wù)器上新增的,本地沒有的對(duì)象都會(huì)出現(xiàn)在列表中,并且默認(rèn)是選中的。pb會(huì)將這些新增的對(duì)象下載到本地并且放置到正確的pbl文件中。在中級(jí)篇會(huì)對(duì)這個(gè)問題有一個(gè)詳細(xì)的解釋。

3.         如何檢出target對(duì)象本身?

答:要檢出target對(duì)象本身,在選擇target執(zhí)行check out命令的時(shí)候,在彈出的窗口中選擇僅對(duì)單一文件操作,這樣就是對(duì)target對(duì)象本身進(jìn)行操作。
在檢出target對(duì)象的時(shí)候,pb會(huì)告知“”這時(shí)候你需要在此執(zhí)行一次 get last version。

4.         我增加了一個(gè)pbl,如何讓我同伴獲得?

答:你的同伴會(huì)在適當(dāng)?shù)臅r(shí)候得知,他的target對(duì)象與服務(wù)器上的不一致,他需要同步他的target對(duì)象。同步過(guò)后,并不會(huì)立即得知target中新增了一個(gè)pbl。當(dāng)他下次打開這個(gè)target(或者打開當(dāng)前的workspace)的時(shí)候,pb會(huì)告訴他,缺少一個(gè)xxx.pbl文件。這時(shí)候他需要手工創(chuàng)建這個(gè)pbl文件。然后關(guān)閉并重新打開target,這時(shí)新的pbl就會(huì)出現(xiàn)在target列表中。然后他需要選擇新增的pbl并使用get last version將其中的新增的對(duì)象下載到本地。

5.         如何正確的同步target對(duì)象?

答:不正確的同步往往不能夠成功地獲得服務(wù)器上的target對(duì)象的最新內(nèi)容。由于target在常規(guī)狀態(tài)下是只讀的,在執(zhí)行g(shù)et last version的時(shí)候改寫它的時(shí)候常常失敗(這是pb的bug)。你需要首先去掉文件的制度屬性,然后執(zhí)行g(shù)et last version。

6.         如何刪除廢棄的對(duì)象?

答:首先,這需要具有管理員權(quán)限的用戶才能夠操作。其次,這里面涉及到的內(nèi)容,將在中級(jí)篇中介紹。一般用戶管理員聯(lián)系。

        

 

 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永靖县| 宁海县| 贺兰县| 抚州市| 太康县| 通州市| 大新县| 大连市| 从江县| 高青县| 沅江市| 巴林右旗| 吉隆县| 绥芬河市| 龙山县| 江口县| 从江县| 叙永县| 社会| 永寿县| 疏勒县| 肃北| 盐源县| 登封市| 娄烦县| 淅川县| 红桥区| 罗江县| 聂拉木县| 项城市| 聊城市| 石嘴山市| 淮南市| 临江市| 岳池县| 沂源县| 理塘县| 昔阳县| 旺苍县| 涿鹿县| 武陟县|