開(kāi)源軟件Subversion管理個(gè)人文檔
本節(jié)向大家描述一下使用開(kāi)源軟件Subversion進(jìn)行個(gè)人文檔管理,在這里和大家簡(jiǎn)單分享一下,希望通過(guò)本節(jié)的學(xué)習(xí)大家對(duì)開(kāi)源軟件Subversion有一定的認(rèn)識(shí)。
有一個(gè)開(kāi)源版的控制系統(tǒng),或者說(shuō)是修訂版的控制系統(tǒng),名為開(kāi)源軟件Subversion(簡(jiǎn)稱為svn),正在快速受到開(kāi)發(fā)者的喜愛(ài)。它口碑***,可在線下載,完全免費(fèi),有大量文字稱贊它的高效和實(shí)用。它穩(wěn)定,靈活,能干,安全,免費(fèi),開(kāi)源,并且能夠用于任何規(guī)模的項(xiàng)目。
以前的控制系統(tǒng)明星軟件是CVS,全稱為并行版本系統(tǒng)(ConcurrentVersioningSystem)。Subversion出現(xiàn)之初只是為了給尊敬的CVS打造一個(gè)堅(jiān)實(shí)可敬的基礎(chǔ),并根據(jù)多年以來(lái)CVS用戶總結(jié)的經(jīng)驗(yàn)來(lái)加以改進(jìn)。它在很多方面如此成功,它的普及就是證據(jù)。
Subversion幾近通明的使用方法,跨多操作系統(tǒng)平臺(tái)上大量可用的客戶應(yīng)用,以及Subversion的低成本,和易于管理等因素,使得它不再僅僅被用來(lái)管理源代碼。對(duì)于內(nèi)容可以被描述為“項(xiàng)目”或者“項(xiàng)目集”的目錄結(jié)構(gòu)來(lái)說(shuō),Subversion提供了一個(gè)近乎實(shí)時(shí)的備份系統(tǒng)。越來(lái)越多的BSD,Linux,和OpenSolaris用戶在傳統(tǒng)用途之外,還用Subversion的版本控制功能來(lái)保存文件目錄。
開(kāi)源軟件Subversion安裝
當(dāng)Windows提供了一步安裝方式時(shí),Subversion在開(kāi)源社區(qū)的迅速走紅絕對(duì)與它在BSD和Linux軟件檔案中的易于使用不無(wú)關(guān)系。例如,在DebianGNU/Linux中安裝Subversion,只需用到管理界面和命令語(yǔ)句和命令行客戶端就能完成,只要以根用戶身份登錄,輸入apt就可完成subversion的安裝。
類似情況下,在標(biāo)準(zhǔn)的FedoraCoreLinux的YUM軟件包管理器中安裝Subversion,也只需要命令yum。對(duì)于FreeBSD,無(wú)論使用pkg還是-C/usr/ports/devel/subversion進(jìn)行安裝都可以,使用哪種方法取決于您想從二元軟件安裝還是從源代碼進(jìn)行安裝。即使MacOSX也提供了能夠安裝Subversion的軟件檔案。
在某些情況下,subversion的版本控制功能要比很多普通備份工具出色很多。最突出的當(dāng)然是軟件開(kāi)發(fā)項(xiàng)目中的源代碼控制。另外一個(gè)就是文檔管理。由于用戶的活動(dòng),文檔和目錄的內(nèi)容會(huì)經(jīng)常發(fā)生變化,迫使開(kāi)發(fā)者采用一種方法撤消一些刪改,看看過(guò)去的版本。一般是通過(guò)changelog來(lái)實(shí)現(xiàn),在版本控制系統(tǒng)中專業(yè)的稱呼為“修訂記錄”。
一種自動(dòng)修訂記錄管理機(jī)制對(duì)于非專業(yè)編程人員來(lái)說(shuō)可能非常熟悉,因?yàn)?**的wiki軟件就采用這樣的技術(shù)來(lái)跟蹤內(nèi)容的變化過(guò)程,并能夠通過(guò)返回去掉不好的修改。
做為修訂記錄機(jī)制的一部分,Subversion這樣的版本控制系統(tǒng)不僅僅維護(hù)復(fù)制當(dāng)前版本文件的中央數(shù)據(jù)庫(kù),還要一路維護(hù)從文件進(jìn)入版本控制以后直到當(dāng)前所進(jìn)行的修訂日志。任何從事軟件開(kāi)發(fā)工作時(shí)間夠長(zhǎng)的人都能告訴你能夠返回到已知良好狀態(tài)的功能有多么重要。這正是任何版本控制軟件的中心任務(wù):也是它們得以存在的最主要原因。
Subversion還有更多的功能。例如,當(dāng)兩個(gè)人同時(shí)編輯同一文件時(shí),它能解決版本沖突的問(wèn)題。在真實(shí)世界里,那些實(shí)踐經(jīng)驗(yàn)豐富,經(jīng)常在版本控制文件中提交工作,在提交變化前先更新本地文件的用戶,很少與他人的工作發(fā)生沖突。這種少見(jiàn)的情況Subversion也能通過(guò)內(nèi)置的沖突解決方案進(jìn)行解決。它還支持將主開(kāi)發(fā)線上經(jīng)過(guò)修改的分支與其他開(kāi)發(fā)分支的接合,對(duì)不同程度用戶的不同程度的校驗(yàn)和升級(jí)許可,以及一些其他一些項(xiàng)目經(jīng)理們會(huì)覺(jué)得非常有用的性能。
個(gè)人文件管理
開(kāi)源軟件Subversion如何進(jìn)行個(gè)人文件管理。版本控制系統(tǒng)的另外一個(gè)用處就是他們?cè)试S您在不同地點(diǎn),使用多臺(tái)計(jì)算機(jī)共同開(kāi)發(fā)同一項(xiàng)目,而無(wú)需使用任何USB存儲(chǔ)設(shè)備或者CD-RW介質(zhì)。只要你在工作用電腦上安裝了版本控制代理軟件,并登錄版本控制魔法發(fā)揮作用的服務(wù)器,您就可以找到項(xiàng)目的***版本并開(kāi)始工作。
由于同一數(shù)據(jù)的不同副本在校驗(yàn)副本更新到不同的客戶端計(jì)算機(jī)時(shí)自動(dòng)同步,因此Subversion這樣的控制系統(tǒng)也可用做一套收集在一起的文檔的備份系統(tǒng)。這包括您每天的個(gè)人文檔,以及源代碼等;也就是說(shuō),如果您將任何小到不需要占用帶寬來(lái)進(jìn)行每周的備份的相關(guān)數(shù)據(jù)集合看做是“項(xiàng)目”,就可以利用Subversion來(lái)節(jié)省復(fù)制數(shù)據(jù)的時(shí)間。個(gè)人文檔目錄一般都非常符合這一特點(diǎn),特別是當(dāng)您所保存的文件大部分都是幾兆大的音樂(lè)、視頻及高清晰度圖片等文件時(shí),絕對(duì)適用。
如果你是那種了解日常備份在預(yù)防硬件及文件系統(tǒng)故障中的重要意義的用戶,你會(huì)發(fā)現(xiàn)您所進(jìn)行的不過(guò)是日常備份,因?yàn)椴僮鱏ebversion所要進(jìn)行也就傳統(tǒng)的備份系統(tǒng)配置和向CD-R中復(fù)制數(shù)據(jù)。Subversion所進(jìn)行的如此簡(jiǎn)單的個(gè)人文件備份能夠節(jié)省大量時(shí)間,或者至少能將你從延遲備份的負(fù)擔(dān)中解放出來(lái),你所需要的只是另外一臺(tái)運(yùn)行著Subversion服務(wù)器軟件的計(jì)算機(jī)。
由于Subversion并不象VisualSourceSafe和ClearCase這樣專屬軟件的圖形化界面那樣,指定單一用途,因此它能夠很容易的被用于一些非標(biāo)準(zhǔn)的使用場(chǎng)合,如標(biāo)準(zhǔn)文檔控制等。你依然有自己的GUI環(huán)境,但是由于有很多專為Subversion使用的GUI客戶端軟件,而Subversion也被集成進(jìn)了很多其他的GUI工具,如Eclipse,甚至通過(guò)TortoiseSVN客戶端進(jìn)入了微軟公司的資源管理器。
配置和安裝
使用開(kāi)源軟件Subversion進(jìn)行文檔管理最可能的情況是在微軟的Windows系統(tǒng)中使用TortoiseSVN或者在免費(fèi)的類UNIX操作系統(tǒng)的軟件管理工具中使用Subversion客戶端軟件。如果要安裝基本Subversion,你可以在BSD或者Linux軟件的檔案庫(kù)中找到服務(wù)器軟件,命令行客戶端以及管理工具,因此如果你不需要圖形化用戶界面的話,你根本無(wú)需另外安裝任何軟件。
在微軟的Windows服務(wù)器中安裝Subversion,你可能會(huì)用到Subversion項(xiàng)目的維護(hù)者Tigris.org網(wǎng)站上提供的SVN1-ClickSetup安裝程序。許多使用Subversion的微軟Windows用戶選用BSD服務(wù)器代替Windows服務(wù)器,而且這樣還不用分別安裝。
在服務(wù)器上安裝了服務(wù)器軟件以后,您需要?jiǎng)?chuàng)建一個(gè)版本控制知識(shí)庫(kù)。下面的例子假設(shè)了一個(gè)類UNIX的shellcommand環(huán)境。括弧中的語(yǔ)句可根據(jù)您的需求進(jìn)行更改。不要在操作中輸入括弧。“#”標(biāo)志表示您以根用戶身份登錄,或者使用sudo進(jìn)行了管理員訪問(wèn)。在[nnnn]中填入你要訪問(wèn)的subversion知識(shí)庫(kù)的userid值。
列A
#addgroup[svn-users]
#usermod-u[nnnn]-G[svn-users]
#mkdir-m770[/home/svn-repos]
#chgrp[svn-users][/home/svn-repos]
#svnadmincreate--fs-typefsfs[/home/svn-repos]。本節(jié)關(guān)于開(kāi)源軟件Subversion進(jìn)行個(gè)人文檔管理介紹完畢,請(qǐng)關(guān)注本節(jié)其他相關(guān)報(bào)道。
【編輯推薦】
- Subversion快速入門教程之SVN服務(wù)器架設(shè)詳解
- 名師推薦 Subversion快速入門教程
- 版本控制Subversion學(xué)習(xí)總結(jié)
- 深入剖析 如何遠(yuǎn)程修改SVN密碼
- 術(shù)語(yǔ)匯編 SVN代碼庫(kù)簡(jiǎn)介