免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
版本控制軟件SubVersion 入門 - Powered by iNewS4
查看評(píng)論

"即使你的團(tuán)隊(duì)只有你一個(gè)人,你的項(xiàng)目只需一周的時(shí)間;即使那是‘用過就扔‘的原型;即使你的工作并非源碼;確保每樣?xùn)|西都處在源碼控制之下--文檔、電話號(hào)碼表、給供應(yīng)商的備忘錄、makefile、構(gòu)建與發(fā)布流程、燒制CD 的shell 腳本--每樣?xùn)|西。"
(《程序員修練之道》)。

對(duì)于每一個(gè)程序員來(lái)講,怎樣能夠最好的保護(hù)你的源代碼都是最重要的一件事。一個(gè)源碼控制軟件就相當(dāng)于一個(gè)系統(tǒng)級(jí)的Undo 鍵,當(dāng)你的程序可用時(shí),作一個(gè)標(biāo)記,當(dāng)程序被改的體無(wú)完膚不能運(yùn)行了,你可以方便的回到上一個(gè)可用的版本,或者當(dāng)你發(fā)現(xiàn)自己想找回上周被你刪除的一個(gè)函數(shù)的時(shí)候,你可以很容易的做到這一點(diǎn)。

當(dāng)然,好的版本控制并不止于此。對(duì)于團(tuán)隊(duì)開發(fā)來(lái)講,你可以控制每個(gè)人的分工和權(quán)限。兩個(gè)人可以同時(shí)編輯同一份源代碼,由程序來(lái)提醒兩次修改中存在的沖突。你可以查看某一處改動(dòng)是誰(shuí)做的。當(dāng)你發(fā)布了一個(gè)正式版,可以建立一個(gè)分支,在分支上繼續(xù)開發(fā)下一個(gè)版本,而對(duì)于后來(lái)發(fā)現(xiàn)的Bug,可以在主分支上繼續(xù)改進(jìn),如果分支上同樣存在這個(gè)Bug,可以將兩者合并。只要修復(fù)一次就可以,這不是很誘人嗎?

目前業(yè)界流行的版本控制系統(tǒng)有很多,商業(yè)軟件比如ClearCase,配置復(fù)雜,功能強(qiáng)大,價(jià)格也同樣對(duì)得起它的功能。而Visual Studio 自帶的SourceSafe 與它的開發(fā)工具完美整合,使用方便,但是對(duì)于其它語(yǔ)言和工具的支持就差一些了。開源世界最著名的版本控制軟件是CVS,相當(dāng)一部分的開源軟件都在使用這個(gè)軟件,以供全球的程序員協(xié)作開發(fā)。然而,CVS 有一些與生俱來(lái)的缺點(diǎn),在設(shè)計(jì)之初沒有考慮到,而隨著使用量和使用狀況的大增,慢慢顯露了出來(lái),比如,最重要的一點(diǎn),它不支持文件改名,還有,只對(duì)文件控制版本,沒有目錄的管理,等等。

后來(lái),CVS 的主要作者(Fogel 等等)在他們現(xiàn)任公司的資助下開發(fā)了SubVersion,用以替代CVS。SubVersion 的設(shè)計(jì)目的就是針對(duì)CVS 的一些弱點(diǎn)進(jìn)行改進(jìn)。目前已經(jīng)有幾個(gè)知名的開源項(xiàng)目從CVS 轉(zhuǎn)向了SubVersion 來(lái)保存源代碼。SubVersion 目前發(fā)布了1.1 正式版,已經(jīng)相當(dāng)穩(wěn)定可靠了。本文只是對(duì)SubVersion 安裝和使用入門的一點(diǎn)引導(dǎo),以便從未用過版本控制的程序員可以快速上手,先從保護(hù)你的個(gè)人代碼開始。

安裝:
SubVersion 對(duì)于目前流行的大部分平臺(tái)都有支持,可以到subversion.tigris.org 下載各個(gè)平臺(tái)的安裝包,或者下載源代碼在linux 等平臺(tái)上自己編譯。對(duì)于windows 平臺(tái),它也提供了安裝程序。

一點(diǎn)說明:SubVersion 的運(yùn)行分為兩種情況,一種是作為獨(dú)立的服務(wù)器,默認(rèn)使用3690 端口,像CVS 那樣來(lái)運(yùn)行,支持直接連接或者SSL 連接。另一種是借助Apache2 的webdav 功能,直接掛接在apache 上,作為它的一個(gè)模塊來(lái)運(yùn)行。

這兩種配置方式是各有優(yōu)缺點(diǎn)的。首先,當(dāng)svn 獨(dú)立運(yùn)行的時(shí)候,作為一個(gè)輕型的服務(wù)器,反應(yīng)速度和連接速度都要比apache 要快一些。它有自己的用戶認(rèn)證方式,(使用系統(tǒng)中現(xiàn)有的賬號(hào)),它比apache 更容易配置和使用。當(dāng)用戶以自己的身份登錄以后所做的任何操作將被記錄下用戶名。以apache 的模塊來(lái)運(yùn)行的時(shí)候,整個(gè)系統(tǒng)是以apache 所在的身份來(lái)運(yùn)行的,所有的用戶(包括任何驗(yàn)證過的用戶)都是使用這個(gè)身份的,那么你就沒有辦法區(qū)別不同用戶的操作了。(有一個(gè)辦法,就是讓用戶自己把名字寫到每次checkin 的message 里面)。它的優(yōu)點(diǎn)是可以使用apache 現(xiàn)有的架構(gòu),不需要去改動(dòng)你的防火墻,而且,可以使用IE 提供最簡(jiǎn)單的查看最新版本的功能。Apache 有很多的認(rèn)證方式,還有非常細(xì)致的對(duì)目錄的權(quán)限管理,而且apache 是一個(gè)安全、穩(wěn)定的服務(wù)器。

具體使用哪一種服務(wù)器取決于你的需求,也可以幾種方式一起用,svn 并不在乎這個(gè)。但是,為了容易管理和配置,建議你還是選擇其中一種。(大部分人會(huì)選擇apache 的方式,因此本文只詳細(xì)說明這種方式的安裝和使用,對(duì)于svn 獨(dú)立運(yùn)行的情況作為附屬的章節(jié)供大家參考。)

Windows 上的安裝:安裝過程很簡(jiǎn)單,雙擊下載回來(lái)的svn-1.1.0-setup.exe,一路回車就可以安裝好了,連必須的兩個(gè)環(huán)境變量都幫你配置好了。在安裝目錄的httpd 目錄下有兩個(gè)so 文件,復(fù)制到apache 的modules 目錄中,bin 目錄的dll 文件復(fù)制到apache 的bin 目錄下或者系統(tǒng)的system32 目錄下,(取決于你的apache 的運(yùn)行狀況),在apache 的httpd.conf 里面找到兩行:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

確保它們沒有被注釋掉。然后在這兩行的下面添加兩行:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

重啟以后svn 就以apache 模塊的方式來(lái)運(yùn)行了。如果出現(xiàn)apache 啟動(dòng)不起來(lái)的問題,看看svn 命令是否在你的環(huán)境變量PATH 里。Linux 上的編譯安裝:對(duì)于下載回來(lái)的.tar.gz 文件,用tar zxvf 命令解壓,進(jìn)入解壓出來(lái)的目錄,./configure-with-apxs=/path/to/apache/bin/apxs,然后make && make install,安裝完成時(shí)會(huì)自動(dòng)修改你的httpd.conf 文件,添加前面那兩行,不需要你再做任何操作。

配置:
安裝已經(jīng)完成了,接下來(lái)要讓它可用還需要兩步操作。

首先要確定你保存某個(gè)工程的位置。比如你要把所有的工程放在D:\repos 目錄下,現(xiàn)在要建立一個(gè)工程project1,在命令行輸入:Svnadmin create d:\repos\project1

該命令會(huì)創(chuàng)建這個(gè)目錄,并建立所必須的一些數(shù)據(jù)庫(kù)和配置文件。然后到httpd.conf 文件里添加對(duì)該目錄的映射。Svn 有兩種映射方式,一種是針對(duì)每個(gè)項(xiàng)目,確定一個(gè)虛擬目錄(Location),另一種可以對(duì)一個(gè)總目錄確定一個(gè)虛擬目錄,其下的所有工程只要在該目錄下直接輸入工程名即可。第二種當(dāng)然是要方便的多了。不過我們還是介紹一下第一種吧。在httpd.conf 的任意位置(如果你需要在某個(gè)虛擬主機(jī)里面實(shí)現(xiàn),就添加到那個(gè)虛擬主機(jī)的配置段)添加以下內(nèi)容:(注意apache 的配置文件里不能使用\,要用/來(lái)代替)

<Location /svn/project1>
DAV svn
SVNPath D:/repos/project1
</Location>

重啟apache 以后,在瀏覽器里輸入Http://localhost/svn/project1,應(yīng)該就可以看到該工程的內(nèi)容了,新建的工程會(huì)顯示Revision 0:/。使用這種方式,必須對(duì)你的每個(gè)工程都添加這樣一段配置,而svn 提供了另一個(gè)選項(xiàng)。

<Location /svn>
DAV svn
SVNParentPath D:/repos
</Location>

這樣,該目錄下所有的工程文件就都可以訪問了。你同樣可以輸入上面的地址來(lái)驗(yàn)證一下。

如果要限制別人對(duì)倉(cāng)庫(kù)的訪問,直接在該Location 段加入任何合法的apache 的權(quán)限控制命令就可以,比如:

AuthType Basic
AuthName "Subversion repository"
AuthUserFile /path/to/users/file

如果想讓驗(yàn)證通過的用戶有寫權(quán)限,匿名用戶有只讀權(quán)限,可以在下面再加兩行:

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

具體的配置方式有很多,請(qǐng)參考apache 的說明文檔。

OK,安裝配置已經(jīng)完成,下面可以開始使用了。

使用:
比如你現(xiàn)在要把一個(gè)現(xiàn)有的工程Project1 要放入svn 的控制之中,并且使用前面建立的那個(gè)數(shù)據(jù)倉(cāng)庫(kù)。打開命令行,進(jìn)入你的這個(gè)工程目錄,執(zhí)行:Svn import . http://localhost/svn/Project1 -m "This is my project"

注意import 后面是個(gè)點(diǎn)表示當(dāng)前目錄。如果不用點(diǎn)也可以,默認(rèn)就是使用當(dāng)前目錄。

然后你會(huì)看到該目錄下所有的目錄和文件都被添加了。用瀏覽器打開上面這個(gè)地址,應(yīng)該可以看到該目錄下所有的文件和目錄了。(切記,svn 以apache 的身份來(lái)運(yùn)行,這個(gè)用戶名需要有對(duì)該目錄寫入的權(quán)限。在windows 上這通常不是問題,但是在linux 上,你最好能夠考慮清楚一些)。

這個(gè)文件列表是由svn 模塊生成的,如果你覺得太簡(jiǎn)陋,可以寫一個(gè)自己的xslt 轉(zhuǎn)換文件,添加到配置段。具體信息參照svn 的幫助文檔吧。

現(xiàn)在只是你的工程文件被導(dǎo)入了,你的現(xiàn)有文件并沒有在svn 控制之下。你可以刪除你原來(lái)的工程目錄了,(安全起見,還是給它改個(gè)名字比較好)。到上層目錄下執(zhí)行:Svn checkout http://localhost/svn/Project1

該命令會(huì)自動(dòng)在當(dāng)前目錄下建立Project1 目錄,并下載回倉(cāng)庫(kù)中所有的文件。該命令還有很多參數(shù),比如指定要建立的目錄的名字,或者指定要導(dǎo)出的版本號(hào)等等。

現(xiàn)在該工程中每個(gè)目錄下都有了一個(gè).svn 的隱藏目錄,以后某個(gè)文件被改動(dòng)了以后,用svn status 可以查看,svn checkin 可以將所做的更改放入倉(cāng)庫(kù)中。具體可用的命令還是去看subversion 的使用手冊(cè)吧,(安裝以后的那個(gè)幫助文件),這份文檔還是詳細(xì)讀一下比較好。還好,有中文版,只不過是繁體的:http://svn.ntcu.net/svnbook/book.html

如果所有的命令都要這樣輸入, 是不是太慢了? 可以使用可視化的管理工具TortoiseSVN , 在這里下載:http://tortoisesvn.tigris.org/。該工具與操作系統(tǒng)整合,給各種類型的文件標(biāo)上不同的圖標(biāo),并且可以以可視化的方式顯示所有的變更記錄,使用起來(lái)非常直觀,也非常方便,而且提供了多國(guó)語(yǔ)言包,包括簡(jiǎn)體中文,我們就不多說了,一看就明白。另外,對(duì)于使用eclipse 的用戶,還有一個(gè)插件可用,http://subclipse.tigris.org,這兩者結(jié)合使用,功能相當(dāng)強(qiáng)大。

以獨(dú)立服務(wù)器的方式安裝:
如果你只是在自己的機(jī)器上裝上一份來(lái)對(duì)自己的日常工作提供版本控制功能,或者你沒有apache2,也不想安裝這個(gè)東西,那么,把svn 安裝獨(dú)立的server 也是一個(gè)不錯(cuò)的選擇。

實(shí)際上,在windows 上安裝完成以后不需要做任何操作你就可以開始使用了。按照前面說的方法新建一個(gè)測(cè)試用的庫(kù):Svnadmin create d:\repos\test1

然后隨便找個(gè)目錄導(dǎo)入一下試試看:
Svn -import . file:///d:/repos/test1 -m "just a test"

是不是成功了?這樣的命令方式只能在本機(jī)上使用。要啟用svn 伺服器,只要在命令行上運(yùn)行svnserve -d 就可以了。很簡(jiǎn)單,不是嗎?再試一下(打開另一個(gè)命令行窗口,這個(gè)一定不能關(guān)閉?。?/p>

Svn -import . svn://localhost/d:/repos/test1 -m "just a test"

這個(gè)網(wǎng)址看上去有些奇怪,到你的運(yùn)行server 的命令行窗口中,用ctrl+C 終止它的運(yùn)行,再使用svnserve -d -r d:\repos來(lái)運(yùn)行它,這樣server 就知道你的版本庫(kù)的默認(rèn)目錄是什么了。然后再導(dǎo)入和使用的時(shí)候,地址只要寫svn://localhost/test1就可以了。

在linux 上也是一樣的,配置的時(shí)候可以不用-with-apxs 了,直接configure,然后make && make install 就可以了。運(yùn)行server 的命令也是一樣的。

如果要把svn 作為一個(gè)后臺(tái)服務(wù)來(lái)運(yùn)行怎么辦呢?總不至于一直讓它開著一個(gè)窗口吧?萬(wàn)一不小心關(guān)了……在linux 下要把它作為后臺(tái)服務(wù)很簡(jiǎn)單,其實(shí)只要在命令的后面加上&就可以了,也就是通用的形式:svnserve -d &,這樣它就會(huì)在后臺(tái)一直運(yùn)行下去?;蛘吣阋部梢宰屗褂脁inetd 的方式來(lái)運(yùn)行。但是在windows 上,就比較麻煩一些了,因?yàn)樽髡邲]有考慮到(或者說沒有考慮)使用者的這個(gè)要求,因此,它不能像apache 那樣容易的把自己安裝成服務(wù),不過既然使用者都是程序員……到http://dark.clansoft.dk/~mbn/svnservice/下載一個(gè)專為這個(gè)任務(wù)而寫的小程序就可以了,使用方法在這個(gè)網(wǎng)頁(yè)上有詳細(xì)的說明。

在這種方式下如果要進(jìn)行用戶控制,可以使用ssl 協(xié)議的方法,那么,地址就變成svn+ssl://localhost/test1 了,但是這種方式要求windows 上有可用的ssl 客戶端。也可以用密碼文件的方法,打開你的d:\repos\test1\conf 目錄下的svnserve.conf,將
anon-access = read
auth-access = write
password-db = passwd
注釋去掉,passwd 跟CVS 一樣是使用apache 的htpasswd 程序來(lái)生成,放在該conf 目錄下即可。另外提一句,apache 驗(yàn)證如果使用basic 方式的話,你在瀏覽器端輸入的用戶名和密碼是以明文在網(wǎng)絡(luò)上傳輸?shù)?,這并不是很安全。而svn 的客戶端在使用這種密碼文件方式驗(yàn)證的時(shí)候,在網(wǎng)絡(luò)上傳輸?shù)闹皇莔d5 值,比apache 還要安全一些。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Apache2/SSL Subversion PAM認(rèn)證服務(wù)器配置
用 Apache 和 Subversion 搭建安全的版本控制環(huán)境
SVN入門及配置使用
SVN應(yīng)用
CentOs5.5上配置SVN1.6.13
SVN介紹和安裝部署
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服