




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一直以來對于自己的項目都是使用CVS進行管理,聽說Subversion很久了,但是都沒有時間去嘗試。想想時間都是省出來的,于是決定,一天學一點,不多,積累成河嘛。 Subversion和CVS相比,除了包含了CVS的全部特性之外,也加入了新的理念。 新理念 1、路徑、改名、以及文件meta-data也可進入版本控制范圍。 缺少這些特性是CVS被抱怨最多的方面之一,subversion不止對文件內(nèi)容和文件存放位置加入控制,也對目錄,拷貝,重命名操作加入版本控制。它也允許文件/目錄的相關(guān)元數(shù)據(jù)meta-data和文件/目錄本身一起被版本控制起來,并提供一種機制對文件的執(zhí)行權(quán)限進行控制。 2、Commit動作真正成為原子級的操作了。直到整個commit動作都成功前不會有任何部分的commit會生效。版本修訂號只是預(yù)確認,而不是對文件預(yù)確認。(翻譯不出來 -_-;)日志信息將綁定到修訂信息,而不是象CVS那樣冗余的存儲下來。3、提供Apache網(wǎng)絡(luò)服務(wù)器選項,支持WebDAV/DeltaV協(xié)議。Subversion可以使用基于http協(xié)議的WebDAV/DeltaV協(xié)議進行網(wǎng)絡(luò)通訊,并由Apache服務(wù)器提供源碼倉庫方的網(wǎng)絡(luò)瀏覽服務(wù)。這為Subversion提供了比CVS更好的協(xié)同工作能力,并提供了各式各樣的自由的關(guān)鍵特性:授權(quán),基于路徑的授權(quán),線性壓縮,以及基本源碼倉庫瀏覽。4、獨立服務(wù)器選項Subversion也能提供獨立服務(wù)器選項,使用自定的協(xié)議(不是每個人都想運行Apache2.x)獨立服務(wù)器可以作為系統(tǒng)的inetd服務(wù)運行,并提供基本的授權(quán)。它也能使用ssh進行加密。5、建立分支和標簽操作成為不耗時的操作。這些動作沒理由耗時,所以我們不再讓它們耗時。6、分支與標簽的實現(xiàn)都是基于底層的拷貝操作,一個拷貝占用一塊固定大小的空間。任何拷貝都可以作為一份標簽;假如你開始對某個版本的拷貝進行commit動作,那它也就成為一個分支。(這與CVS的分支節(jié)點做標簽方式不同)7、天然的client/server結(jié)構(gòu),層次化庫設(shè)計。Subversion從設(shè)計之初即采用client/server機構(gòu);因此避免了困擾CVS了許久的一些維護性難題。代碼被構(gòu)建為一組帶有詳細接口說明的模塊,用以方便的由其他應(yīng)用程序進行調(diào)用。8、Client/server協(xié)議向雙方發(fā)送對比差異。網(wǎng)絡(luò)協(xié)議利用寬帶有效地發(fā)送對比差異給客戶端和服務(wù)器端雙方。( CVS只是 server-client,?沒有client-server )9、資源消耗與數(shù)據(jù)改變的大小成正比,而不是與數(shù)據(jù)本身大小成正比一般來說,一項Subversion操作所需時間與操作最終變化的大小成正比。而不是與操作所觸及的整個項目的大小成正比,這是Subversion源代碼倉庫模型的一個特性。10、有效的處理二進制文件Subversion對于二進制文件和文本文件的處理同樣有效,因為subversion使用一種二進制差異比較算法來增量存儲那些連續(xù)的修訂本。11、易于語法分析的輸出。所有Subversion命令行客戶端的輸出都是仔細設(shè)計的,可輕松為人所理解,也適于程序自動解析。可進行腳本語言處理將是下一步優(yōu)先考慮的特性。好了,開始使用吧。Subversion到目前的安裝已經(jīng)非常簡單了。到Subversion網(wǎng)站下載Windows下的安裝文件,簡單的步驟就可以完成安裝,而且安裝程序已經(jīng)自動注冊Path,直接在命令行模式就可以使用了。 首先初始化Repository,輸入命令:svnadmin create D:TestRepository然后,把現(xiàn)有的項目的目錄結(jié)構(gòu)以及文件導(dǎo)入到Repository中:svn import D:ProjectsProject1 file:/D:TestRepositoryProject1 -m “初始化“用啟動服務(wù)svnserve -d -r D:TestRepository客戶端Checkoutsvn checkout svn:/主機名/Project1? (即獲取Project1的項目)以上都是很簡單的命令。而且上面只用到了一種服務(wù)模式,Apache的還在嘗試中。目前只用到了Subversion的基本功能,就已經(jīng)感覺不錯了,覺得入門很輕松,幫助文檔也比CVS要好的多。Subversion也有圖形的客戶端,可以在 TortoiseSVN 找到。Subversion也VS.Net的插件,可以在AnkhSVN 找到。TortoiseSVN相信不錯,因為以前用過它的另一個For CVS的工具,可以和瀏覽器結(jié)合在一起,非常方便和美觀。服務(wù) Subversion具有兩種服務(wù)模式,一個是作為Apache的模塊,另一個是自定義協(xié)議的Subserve服務(wù)。作為Apache的模塊,客戶端可以通過WebDAV/DeltaV協(xié)議訪問Repository,而使用Subserve則使用Subversion的自定義協(xié)議。下表是兩種服務(wù)模式的比較:功能 Apache + mod_dav_sub Svnserve 驗證方式 基于HTTPS的X.509、LDAP、NTLM或其他Apache支持的驗證 CRAM-MD5或者SSH 用戶帳戶管理 私有的用戶文件 私有的用戶文件或已有的系統(tǒng)帳戶 授權(quán)管理 blanket read/write access或單一目錄的訪問控制 blanket read/write access 加密 可選的SSL 可選的SSH隧道 交互性 可通過支持WebDAV的客戶端訪問 無交互性 Web訪問 有限的內(nèi)置支持,或通過第三方的工具,例如ViewCVS 通過第三方的支持,如ViewCVS 速度 稍慢 稍快 初始安裝 稍復(fù)雜 相當簡單 啟動svnserve服務(wù)svnserve 是一個輕量級的服務(wù), 使用自定義的協(xié)議通過TCP/IP與客戶端通訊。客戶端通過由 svn:/ 或者 svn+ssh:/ 開始的URL訪問svnserve服務(wù)器。啟動服務(wù)器端口監(jiān)控(inetd)模式如果你打算用端口監(jiān)控來啟動處理客戶的訪問請求的進程,你可以通過傳入?yún)?shù)-i來啟動:svnserve -i當使用-i參數(shù)啟動服務(wù)的時候,svnserve通過stdin和stdout用自定義協(xié)議和客戶端通訊。同時服務(wù)偵聽3690端口。獨立端口監(jiān)控進程使用參數(shù)-d啟動服務(wù)作為一個獨立的端口監(jiān)控進程。svnserve -d當運行svnserve在獨立端口監(jiān)控模式時,你可以使用-listen-port=和-listen-host=參數(shù)來自定義需要的端口和主機名稱。當前模式默認的端口是3690。當然,也有第三種方法啟動svnserve,也就是使用“隧道模式”,使用-t參數(shù)啟動服務(wù)。這個模式要求遠程服務(wù)程序,如RSH或SSH,已經(jīng)成功驗證用戶,并且使用已經(jīng)校驗的用戶啟動一個屬于該用戶的svnserve進程。當使用該模式提供服務(wù)時,要確認啟動的用戶帳戶具備對Repository的讀/寫權(quán)限。設(shè)置項目目錄當svnserve開始運行時,它將會暴露所有的Repository到網(wǎng)絡(luò)上。不過,當客戶端需要獲取一個Repository的內(nèi)容時,需要指定Reopsitory的絕對路徑。例如:一個Repository放在文件路徑C:/Project Repository/Project1那么當客戶端訪問時,需要指定絕對路徑:svn:/host/C:/Project Repository/Project1所以,為了增加保密性,你可以使用參數(shù)-r指定需要暴露的Repository的路徑,當用戶訪問時,只需指定Repository的名稱即可。例如上面的Repository,當啟動服務(wù)時,使用如下的方法:svn -d -r C:/Project Repository那么當客戶端訪問時,則使用svn:/host/Project1就可以獲取數(shù)據(jù)了。內(nèi)置的驗證和授權(quán)當客戶端連接到一個svnserve進程時,下面的流程就會觸發(fā):1、客戶選擇一個指定的Repository;2、服務(wù)處理Repository的配置文件 conf/svnserve.conf文件,并且開始執(zhí)行在其中定義的所有驗證和授權(quán)策略;3、依賴與情形和授權(quán)策略:a)客戶端也許允許匿名訪問而不需要驗證,或者b)客戶但也許需要在任何時候被要求驗證,或者c)假如處于隧道模式中,客戶端將聲明自己已經(jīng)可以被外部驗證。很顯然,如上所說,用戶文件是一個名為svnserve.conf的,放在conf目錄下的文件。現(xiàn)在我們來看看如何配置這個文件:這個配置文件放置在Repository的目錄中的conf目錄下,它有兩個節(jié)點:generalusers其中,general的配置信息有:anon-access = readauth-access = write其中表示對于驗證有效的以及沒通過驗證的用戶可以做什么事情。分別有read, write和noneusers的標簽的配置內(nèi)容有:USERNAME = PASSWORDpasswo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樓盤變廢為寶活動方案
- 桐鄉(xiāng)八年級數(shù)學活動方案
- 油田插花活動方案
- 植樹節(jié)樹木掛牌活動方案
- 殷都區(qū)安全教育活動方案
- 校長講安全活動方案
- 水泥廠東宿舍活動方案
- 森林沙龍活動方案
- 民營企業(yè)家聯(lián)誼活動方案
- 氣墊抽獎活動方案
- 四川省德陽市2025年七年級下學期語文期末試卷及答案
- 石獅子購銷合同協(xié)議
- 2025廣州市荔灣區(qū)輔警考試試卷真題
- 課題申報書:基于核心素養(yǎng)發(fā)展理念的小學數(shù)學跨學科主題學習設(shè)計的策略研究
- 模聯(lián)面試題及答案
- 上海市楊浦區(qū)2025屆高三語文一模質(zhì)量調(diào)研試卷(含答案)
- 貴州省遵義市2024年八年級《數(shù)學》上學期期末試題與參考答案
- 隔壁拆房相鄰協(xié)議書
- GB/T 320-2025工業(yè)用合成鹽酸
- 2025(人教版)小升初數(shù)學總復(fù)習 知識點總結(jié)+專項練習(含答案)
- 山東省青島市青島2025年第五十八中學一模數(shù)學試題含答案
評論
0/150
提交評論