學(xué)習(xí)筆記:剖析Collabnet Subversion集成
Collabnet Subversion集成還是比較常用的,于是我研究了一下Collabnet Subversion集成,在這里拿出來和大家分享一下,希望對大家有用。
此文檔面向CollabNet Enterprise Edition的用戶,這些用戶已經(jīng)相當(dāng)熟悉Subversion的核心產(chǎn)品,并且已讀過Subversion的主要書籍:使用Subversion進(jìn)行版本控制。同時,此文檔假定讀者對CollabNet有一定程度的了解,即他們以前使用過CVS支持的CollabNet項目。
存儲庫布局
Subversion為每個項目使用獨立的Subversion存儲庫。項目最初創(chuàng)建時,會使用此Subversion書推薦的默認(rèn)布局創(chuàng)建一個新的存儲庫。本質(zhì)上,此存儲庫是一個單個的“項目根目錄”(如在Subversion書中的“選擇存儲庫布局”中所論述):
/branches/
自述文件
/tags/
自述文件
/trunk/
www/
index.html
自述文件
像任何Subversion存儲庫一樣,建議項目將其主要的基本代碼存儲到/trunk中,然后使用svncopy命令將/trunk目錄復(fù)制到/branches和/tags區(qū)域中,以創(chuàng)建分支和標(biāo)簽。
“Live”項目主頁
/trunk/www區(qū)域是一個特殊的目錄,這和它在CVS支持的項目中一樣。如果在項目設(shè)置中選擇了“使用項目index.html”選項,則此目錄表示該項目的主要網(wǎng)站。向此區(qū)域提交任何內(nèi)容都將導(dǎo)致項目首頁的立即更新。
提交電子郵件
每當(dāng)有內(nèi)容提交到存儲庫時,都將發(fā)送電子郵件至commits@yourproject.domain。此為一標(biāo)準(zhǔn)程序,使項目成員訂閱此列表以增加他們對彼此活動的了解。
Subversion客戶端驗證
注意:此部分的信息假設(shè)您的站點不要求SSL客戶端認(rèn)證。若您的站點使用SSL客戶端證書,請參見使用客戶端證書的Subversion客戶端驗證。存儲庫的URL通過在項目的主URL后添加/svn/projectname構(gòu)成。建議簽出/svn/projectname/trunk,而非存儲庫的根目錄:
$svncohttp://project.domain/svn/project/trunkproject
Authenticationrealm:
Passwordfor'username':XXXXX
Aproject/
Aproject/www
Aproject/www/index.html
Checkedoutrevision1.
Subversion客戶端必須提供有效的CollabNet用戶名和密碼,才能訪問存儲庫。若您的CollabNet站點被配置為使用https://而非http://,則您也必須使用https://才能訪問Subversion存儲庫。此操作模式將通過連接的所有信息(包括您的密碼)都進(jìn)行了安全加密。
Subversion客戶端成功進(jìn)行身份驗證后,它會自動試圖將憑據(jù)緩存到用戶的運行時配置區(qū)域中。若要阻止這種磁盤上緩存(或只是要了解有關(guān)此功能的更多信息),請參考Subversion書中的“客戶端憑據(jù)緩存”。
CollabNet服務(wù)器授權(quán)
Collabnet Subversion集成的較好功能之一就是能夠使用CollabNet“角色”和“資源”以控制不同用戶對存儲庫中特定路徑的訪問。若要概括了解CollabNet角色,請參見此文檔。
正如使用CVS支持的項目一樣,用戶可能會在您的項目中申請大量的標(biāo)準(zhǔn)角色。下面的角色與版本控制的相關(guān)性***:
觀察員
對整個Subversion存儲庫具有只讀訪問權(quán)限。
內(nèi)容開發(fā)人員
對/trunk/www僅具有讀取/寫入訪問權(quán)限。無法讀取或?qū)懭氪鎯斓娜魏纹渌糠帧?/P>
開發(fā)人員
對Subversion存儲庫具有完全讀取/寫入訪問權(quán)限。
項目經(jīng)理或項目所有者
與“開發(fā)人員”具有相同的版本控制權(quán)限,但對CollabNet其它部分具有額外特權(quán)。此外,項目所有者可能會希望為其項目創(chuàng)建屬于他們自己的特定資源和角色。由于Subversion在普通的文件系統(tǒng)空間中提供所有的分支和標(biāo)簽,因此能夠選擇性地限制對分支和標(biāo)簽的訪問,這是超越CVS的一個極大的改進(jìn)。例如:您可以定義開發(fā)人員角色,這一角色對存儲庫中除/tags目錄以外的所有部分都擁有寫入訪問權(quán)限;然后創(chuàng)建一個擁有特殊權(quán)限的特殊“發(fā)行經(jīng)理”角色,以創(chuàng)建新標(biāo)簽。有無限種可能性。
存儲庫瀏覽
可以在項目的導(dǎo)航欄中使用“版本控制-SCM”鏈接來瀏覽文件的歷史記錄。但是,Subversion與CVS還不盡相同,因此,在瀏覽Subversion存儲庫時存在一些差異:
文件中不存在用于顯示每行注釋的選項。(但您可以從客戶端運行“svnannotate”。)
檢查文件修訂列表時,沒有用于顯示相對于上一修訂版本所更改的行數(shù)的“更改行數(shù)”字段。但是,存在一個顯示每次修訂大小的“文件大小”字段。
由于Subversion將分支和標(biāo)簽放置在普通的文件系統(tǒng)空間,因此不顯示“分支”或“標(biāo)簽”字段,也不顯示查看分支的下拉框。而是提供文本字段,用于區(qū)分任意兩個存儲庫路徑:您可以使用此字段在分支或標(biāo)簽?zāi)夸浿袑⒁粋€文件和它的另一個版本進(jìn)行比較。
與項目跟蹤工具集成
若您的Subversion項目配置為使用項目跟蹤工具(PT)而不是事件跟蹤工具,則可使用更高程度的集成。項目所有者可以在“工具配置”頁調(diào)整Subversion和PT之間的三種集成設(shè)置。
可將項目配置為允許Subversion提交將提交信息追加到PT工件。若提交日志信息提及特定的PT工件,則以下內(nèi)容將被追加到該工件:
提交日志信息已修改的文件路徑
用于查看文件更改的URL
為觸發(fā)自動追加,提交日志信息中必須包含與項目跟蹤工具工件標(biāo)識符匹配的字符串:具體而言,該字符串必須具有1到4個字母,字母后跟有大量數(shù)字。任何匹配的字符串都被自動認(rèn)為是可能會追加的“候選”項目跟蹤工具工件。
除上述規(guī)則外,如果標(biāo)識符的文本“事件”、“錯誤”或“工件”后跟有數(shù)字,且在項目中作為項目跟蹤工具工件標(biāo)識符存在,則此標(biāo)識符將被標(biāo)識為有效標(biāo)識符。還可以使用項目中正在使用的工件類型名,因此如果項目具有“缺陷”和“需求”工件類型,則該項目中的工件標(biāo)識符可以稱為“需求1”或“缺陷3”。如果在具有名為SC1、SC2和SC3的工件的特定項目中存在缺陷工件,但提交信息中帶有文本“需求3”,此標(biāo)識符仍將被視作帶超級鏈接的有效標(biāo)識符。也可將SCM配置為強(qiáng)制所有提交日志信息至少提及一個項目跟蹤工具工件。如果提交信息未達(dá)到此要求,則將拒絕整個提交。也可將此功能進(jìn)一步配置為要求提到的工件標(biāo)識符由執(zhí)行提交的人“擁有”。這兩種設(shè)置都可以用于強(qiáng)制執(zhí)行項目中特定的版本控制策略。以上介紹Collabnet Subversion集成。
【編輯推薦】

















