Subversion是一個自由/開源的,專門針對CVS的不足而開發的版本控制系統。Subversion是版本管理的后臺系統,其核心是保存數據的檔案庫-repository。檔案庫用分層的“文件-目錄”文件系統數來存儲數據。連接到檔案庫的客戶能讀寫數據。檔案庫記錄了用戶的每一次修改!客戶端可以從檔案庫中提取到過去的版本。Subversion的版本庫可以通過網絡訪問,從而使用戶可以在不同的電腦上進行操作,從某種程度上來說,允許用戶在各自的空間里修改和管理同一組數據可以促進團隊協作。因為修改不再是單線進行,開發進度會進展迅速。此外,由于所有的工作都已版本化,也就不必擔心由于錯誤的更改而影響軟件質量—如果出現不正確的更改,只要撤銷那一次更改操作即可。
TortoiseSVN 是 Subversion 版本控制客戶端,可以超越時間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務器。你可以將文件恢復到過去的版本,并且可以通過檢查歷史知道數據做了哪些修改,誰做的修改。
SVN簡介(what,why,when)What:英文全稱(subversion),一種版本控制系統。什么是版本控制系統?有哪些版本控制系統(vss,cvs)?why:支持重命名,跨平臺,原子性提交,全局的版本號,高效地創建基線…when:當需要對代碼和文檔進行版本控制的時候。
SVN = 版本控制 + 備份服務器 簡單的說,您可以把SVN當成您的備份服務器,更好的是,他可以幫您記住每次上傳到這個服務器的檔案內容。并且自動的賦予每次的變更一個版本。 通常,我們稱用來存放上傳檔案的地方就做Repository。用中文來說,有點像是檔案倉庫的意思。不過,通常我們還是使用Repository這個名詞。基本上,第一次我們需要有一個新增(add)檔案的動作,將想要備份的檔案放到Repository上面。日后,當您有任何修改時,都可以上傳到Repository上面,上傳已經存在且修改過的檔案就叫做commit,也就是提交修改給SVN server的意思。針對每次的commit,SVN server都會賦予他一個新的版本。同時,也會把每次上傳的時間記錄下來。日后,因為某些因素,如果您需要從Repository下載曾經提交的檔案。您可以直接選擇取得最新的版本,也可以取得任何一個之前的版本。如果忘記了版本,還是可以靠記憶嘗試取得某個日期的版本。
TortoiseSVN是Subversion版本控制系統的一個免費開源客戶端,可以超越時間的管理文件和目錄。文件保存在中央的Repository,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務器。你可以將文件恢復到過去的版本,并且可以通過檢查歷史 知道數據做了哪些修改,誰做的修改。這就是為什么許多人將Subversion和版本控制系統 看作一種“時間機器”。
在開源軟件領域,并行版本系統(CVS)一直是版本控制的選擇。恰如其分的是,CVS本身是一個自由軟件,它的非限制性的技法和對網絡操作的支持—允許大量的不同地域分散的程序員可以共享他們工作的特性—非常符合開源軟件領域合作的精神,CVS和它半混亂狀態的開發模型成為了開源文化的基石。<br> 但是像許多其他工具一樣,CVS開始顯露出衰老的跡象。Subversion是一個被設計成為CVS繼任者的新版本控制系統。設計者通過兩個辦法來爭取現有的CVS用戶: 使用它構建一個開源軟件系統的版本控制過程,從感覺和體驗上與CVS類似,同時Subversion努力彌補CVS許多明顯的缺陷,結果就是不需要版本控制系統一個大的革新。Subversion是非常強大、有用及靈活的工具。<br> 這本書是為Subversion 1.1 系列撰寫的,我們試圖涵蓋Subversion的所有內容,但是Subversion有一個興盛和充滿活力的開發社區,已經有許多特性和改進計劃在新的版本中實現,可能會與目前這本書中的命令與細節不一致。
分支:版本控制系統的一個特性是能夠把各種修改分離出來放在開發品的一個分割線上。這條線被稱為分支。分支經常被用來試驗新的特性,而不會對開發有編譯錯誤的干擾。當新的特性足夠穩定之后,開發品的分支就可以混合回主分支里(主干線)。合并:分支用來維護獨立的開發支線,在一些階段,你可能需要將分支上的修改合并到最新版本,或者將最新版本的修改合并到分支。
Subversion在版本庫訪問方面有一個抽象概念,利于人們去實現新的網絡機制,Subversion可以作為一個擴展模塊與Apache結合,這給了Subversion在穩定性和交互性方面很大的好處,可以直接使用服務器的特性—認證、授權和傳輸壓縮等等。也有一個輕型的,單獨運行的Subversion服務,這個服務使用自己的協議可以輕松的用SSH封裝。
Subversion是一個自由/開源版本控制系統,它管理文件和目錄可以超越時間。一組文件存放在中心版本庫,這個版本庫很像一個普通的文件服務器,只是它可以記錄每一次文件和目錄的修改,這便使你可以取得數據以前的版本,從而可以檢查所作的更改。從這個方面看,許多人把版本控制系統當作一種“時間機器”。<br><br> Subversion可以通過網絡訪問它的版本庫,從而使用戶可以在不同的電腦上使用。一定程度上可以說,允許用戶在各自的地方修改同一份數據是促進協作。進展可能非常的迅速,并沒有一個所有的改變都會取得效果的通道,由于所有的工作都有歷史版本,你不必擔心由于失去某個通道而影響質量,如果存在不正確的改變,只要取消改變。<br><br> 一些版本控制系統也是軟件配置管理(SCM)系統,這種系統經過特定的精巧設計來管理源代碼,有許多關于軟件開發的特性—本身理解編程語言、或者提供構建程序的工具。然而,Subversion不是這樣一個系統,它是一個通用系統,可以管理任何類型的文件集,對你這可能是源代碼—對別人,可能是一個貨物清單或者是數字電影。
SUBVERSION介紹:Subversion(以下簡稱SVN)是一個自由,開源的版本控制系統。在SVN管理下,文件和目錄可以超越時空。SVN將文件存放在中心版本庫里。這個版本庫很像一個普通的文件服務器,不同的是,它可以記錄每一次文件和目錄的修改情況。這樣就可以籍此將數據回復到以前的版本,并可以查看數據的更改細節。Subversion(SVN)是新一代的版本控制工具,不僅可以管理程序源碼,也可以應用于其他協作管理的工作, TortoiseSVN作為WINDOWS系統的SVN客戶端,具備查看文檔庫、查看當前版本(及版本備注信息)、基于版本導入/導出文檔庫等功能。
Subversion版本控制系統使用拷貝-修改-合并模型,在這種模型里,每一個客戶聯系項目版本庫建立一個個人工作拷貝—版本庫中文件和目錄的本地映射。用戶并行工作,修改各自的工作拷貝,最終,各個私有的拷貝合并在一起,成為最終的版本,這種系統通常可以輔助合并操作,但是最終要靠人工去確定正誤。
SVN全名Subversion,即版本控制系統。SVN與CVS一樣,是一個跨平臺的軟件,支持大多數常見的操作系統。作為一個開源的版本控制系統,Subversion管理著隨時間改變的數據。這些數據放置在一個中央資料檔案庫(repository)中。這個檔案庫很像一個普通的文件服務器,不過它會記住每一次文件的變動。這樣你就可以把檔案恢復到舊的版本,或是瀏覽文件的變動歷史。Subversion是一個通用的系統,可用來管理任何類型的文件,其中包括了程序源碼。
Svn是一個離線的代碼管理,可以多個人一起修改,然后再將修改的內容提交到Svn中。 每一個svn服務器中的數據存儲單位叫做存儲,但是你不僅僅可以把整個存儲當作你維護的內容,也可以將其中的某個分支目錄像根存儲一樣的使用。 Svn 是嚴格區分大小寫的,存儲中路徑的名字只有大小寫不同,也會當作不同的路徑處理。注意這里會在windows平臺下導致一些非常嚴重的問題。在 windows下如果svn服務器上同一文件夾有兩個只有大小寫不同的文件時會出現則會出現總是提示某個文件丟失,而更新到哪個文件也是未知的。如果同一文件夾有只有大小寫不同的文件夾會導致總是無法將一個文件夾同步下來。最嚴重的要數如果存儲名稱錯誤,則你沒有辦法提交數據,因為帳戶認證是基于存儲的。
實現精細的目錄訪問權限控制:關鍵詞:Subversion目錄訪問權限:獻辭:??僅以本文,獻給中國廣大的自由軟件愛好者們:摘要:??本文從一個實際的例子入手,介紹了如何利用Subversion自帶的目錄管理功能,來實現對項目目錄的精細訪問權限的控制。同時描述了在配置的過程中,需要注意的一些地方,如對中文的處理等。