SVN簡易使用手冊專家推薦
本節和大家一起學習一下SVN簡易使用手冊,隨著SVN的快速發展,版本更新了多個,用途也越來越廣,本節就介紹一下SVN如何使用,歡迎大家一起來學習SVN簡易使用手冊。
Subversion是一個免費的開源的版本管理系統,它是作為CVS(ConcurrentVersionsSystem)的取代品出現的。本文簡單介紹了Subversion在Fedora上的安裝過程及其基本概念和使用方法。您可以到O'Reilly出版的開源書籍VersionControlwithSubversion的主頁在線閱讀(中、英文版本都有),以獲取更多信息。
1.在Fedora上安裝Subversion
首先看一下SVN簡易使用手冊中介紹如何在Fedora上安裝Subversion。
[aaronwong@localhost~]$sudoyum-yinstallsubversion
[aaronwong@localhost~]$rpm-qlsubversion//上面的命令可查詢subversion軟件包在系統上所安裝的文件列表
[aaronwong@localhost~]$sudoyum-yinstallmod_dav_svn//mod_dav_svn不是必須安裝的,它是ApacheHTTPServer的一個插件,你本地倉庫(repository)的文件必須通過它才能在網絡上與別人共享。//subversion的組件列表點此查看。
[aaronwong@localhost~]$svn--version
svn,版本1.4.3(r23084)
編譯于Mar232007,09:29:55
版權所有(C)2000-2007CollabNet。
Subversion是開放源代碼軟件,請參閱http://subversion.tigris.org/此產品包含由CollabNet(http://www.Collab.Net/)開發的軟件。
可使用以下的倉庫存取(RA)模塊:
*ra_dav:通過WebDAV(DeltaV)協議訪問倉庫的模塊。
-處理“http”方案
-處理“https”方案
*ra_svn:使用svn網絡協議訪問倉庫的模塊。
-處理“svn”方案
*ra_local:訪問本地磁盤的倉庫模塊。
-處理“file”方案
2.使用Subversion管理本地project
SVN簡易使用手冊再來講解一下如何使用Subversion管理本地project。作為程序開發人員,我們沒有必要了解Subversion的所有特性的方方面面,我們的目的是使用它來對我們的project進行方便的簡單的版本管理,因此,強烈推薦閱讀SubversionQuick-StartGuid和BasicUsage。以下是筆者參照上述Guide進行一個簡單的本地project的版本管理的示例。假定工程名為hello。
(1)建立本地工程hello的subversion倉庫
Subversion把工程的各個版本的數據集中放在一個倉庫(repository)中。假定我們要建立一個本地工程,叫做hello,為了使用subversion對它進行版本管理,首先要為該工程建立一個倉庫。
[aaronwong@localhost~]$svnadmincreate.subversion/repos/hello//subversion安裝后會生成一個~/.subversion目錄,這里,我們將工程hello的數據倉庫建立在~/.subversion/repos/hello目錄。
[aaronwong@localhost~]$ls-p.subversion/repos/hello/
conf/dav/db/formathooks/locks/README.txt
(2)按照subversion的要求組建本地工程hello的工作目錄
假定工程hello的頂層目錄為~/projects/hello(這里~代表/home/aaronwong/),則應如下組建工程的工作目錄:
~/projects/hello/branches
~/projects/hello/tags
~/projects/hello/trunk/
hello.c
//trunk目錄是實際上的工程頂層目錄,工程中的所有文件和文件夾都在該目錄下組織。
[aaronwong@localhost~]$cdprojects/hello/
[aaronwong@localhosthello]$ls-p
branches/tags/trunk/
[aaronwong@localhosthello]$cattrunk/hello.c
//Thisisaoriginalversion.
#include<stdio.h>
intmain()
{printf("Helloworld!\n");}
(3)將本地工程hello導入本地的Subversion的工程倉庫
由于是首次導入,因此要加信息-m"initialimport"。
[aaronwong@localhosttrunk]$svnimport~/projects/hello/file:///home/aaronwong/.subversion/repos/hello/-m"initialimprot"
新增/home/aaronwong/projects/hello/trunk
新增/home/aaronwong/projects/hello/trunk/hello.c
新增/home/aaronwong/projects/hello/branches
新增/home/aaronwong/projects/hello/tags
提交后的版本為1。
注意,完成導入后,原目錄~/projects/hello并不轉換為“工作副本(workingcopy)”,而且該項目已經轉由該倉庫接管,即該倉庫中已經包含了首次導入的工程的所有信息,與源目錄~/project/hello再無任何關系,我們完全可以刪除這一目錄而不必擔心丟失工程項目數據。注意,如果源目錄并不是一個“工作副本”,那么就無法用svn進行管理,在其中所作的任何變動都無法提交到倉庫。
要用subversion對工程進行版本管理,那么工程項目的開發必須在一個“工作副本”中進行,即首先要從倉庫獲取一個“工作副本”。請期待下節關于SVN簡易使用手冊介紹。
【編輯推薦】