1 SVN簡介:
Subversion是一款自由開放的版本控制軟體。Subversion可以管理檔案、檔案夾以及記錄它們的修改狀
況。Subversion常用來幫助我們管理軟體開發的源代碼或是公司手冊文檔。
Subversion通過将文檔導入至版本庫中進行管理,版本庫類似于檔案伺服器,但比檔案伺服器更強大的
是它可以記錄你每一次對檔案或目錄的修改狀況,并提供還原資料至老版本的功能。
2 SVN三種通路模式:
用戶端通路服務端時可以通過svnserve通路、svnserver+ssh通路、Apache間接通路。
1.svnserve是一個小巧、輕便的伺服器程式,通過它用戶端可以使用Subversion專有的協定進行通路,
其特點是設定簡單。
2.由于svnserve本身并不提供加密通訊的功能,是以如果你需要更安全的連接配接,可以使用svnserve+ssh
的方式,通過連接配接SSH伺服器建立在SSH隧道,在通過SSH調用svnserve程式。
3.Apache通過mod_dav_svn通路版本庫,使得客戶可以通過通路Apache取得版本庫資料進行版本控制。
3 svnserver 示例:
安裝Subversion
[root@localhost ~]# yum -y install subversion
建立版本庫
[root@localhost ~]# mkdir /var/svn
[root@localhost ~]# svnadmin create /var/svn/project1
導入資料到版本庫
[root@localhost ~]# svn import /java file:#/var/svn/project1 -m "Initial DATA"
将java目錄中的檔案導入版本庫,使其版本化。-m後跟說明性字元串,可任意輸入
[root@localhost ~]# svn list file:#/var/svn/project1/ #列出版本庫中的檔案清單
[root@localhost ~]# mkdir /test; cd /test #建立本地拷貝資料目錄
将版本庫中檔案拷貝至本地
[root@localhost ~]# svn checkout file:#/var/svn/project1
在本機儲存一份本地拷貝後,以後即就當作普通檔案對其進行修改,修改完成後随時可以上傳回版本庫,更新版本庫
[root@localhost ~]# svn commit -m "JAVA"
守護程序啟動svnserve服務
[root@localhost ~]# svnserve -d
用戶端需要指定據對路徑通路版本庫如svn:#centos.example.com/var/svn/project1
[root@localhost ~]# svnserve -d -r /var/svn/project1
限制僅釋出project1一個版本庫至網絡
用戶端可以使用相對路徑通路版本庫如svn:#centos.example.com/project1
svnserve.conf中定義的認證與授權政策實作權限控制
[root@localhost ~]# vim /var/svn/project1/conf/svnserve.conf
[general]
# anon-access = read #匿名使用者權限為隻讀,此處可以設定為none,read,write
# auth-access = write #經過認證的使用者權限為可寫
# password-db = passwd #指定使用者存放使用者名與密碼的檔案,該檔案位于conf目錄下名為passwd
# authzauthz-db = authz #指定基于版本庫路徑的通路控制(可以對檔案或目錄設定權限)
# real = My First Repository #設定版本庫域,如果兩個版本庫的認證域相同,他們将使用相同的密碼資料
修改passwd與authz檔案:
[root@localhost ~]# vim /var/svn/project1/conf/passwd
[users]
# harry = harryssecret #使用者名為harry密碼為harryssecret
# sally = sallyssecret #使用者名為sally密碼為sallyssecret
[root@localhost ~]# cim /var/svn/project1/conf/authz
[groups]
admins = harry,sally #定義組,組成員有harry與sally
[/] #對版本庫根路徑設定權限,可以設定為你需要控制的路徑
@admins = rw #admins組中的使用者使用者可讀,可寫權限
* = r #其他所有人隻讀,權限可以設定為隻讀('r'),讀寫('rw'),無權限('')
用戶端我們使用Windows下的TortoiseSVN圖形工具
安裝好後,右鍵 > SVN 檢出 > 版本庫URL:svn:#192.168.1.6/java
填好使用者名密碼,檢出到本地
本文轉自super李導51CTO部落格,原文連結:http://blog.51cto.com/superleedo/1888804 ,如需轉載請自行聯系原作者