什麼是SVN(subversion)?
VN是近年來崛起的非常優秀的版本管理工具,與CVS管理工具一樣,SVN是一個固態的跨平臺的開源的版本控制系統。SVN版本管理工具管理者隨時間改變的各種數據。這些數據放置在一個中央資料檔案庫(repository)中,這個檔案庫很像一個普通的文件服務器或者FTP服務器,但是,與其他服務器不同的是,SVN會備份並記錄每個文件每一次的修改更新變動。這樣我們就可以把任意一個時間點的檔案恢復到想要的某一箇舊的版本,當然也可以直接瀏覽指定的更新歷史記錄。
爲什麼會有SVN這樣一個項目?
官方解釋:爲了接管CVS的用戶基礎,確切的說,我們寫了一個新的版本控制系統,它和CVS很相似,但是它修正了以前CVS所沒有解決的許多問題。
SVN時一個非常通用的軟件系統,它常被用來管理程序 源碼,但是他也可以管理任何類似的文件,如文本、視頻,圖片等等。
[root@svn ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
1. 首先檢查SVN軟件程序是否已經安裝:
[root@svn ~]# rpm -qa subversion
subversion-1.6.11-14.el6.x86_64
2.如果沒有如上結果,則需要執行如下命令安裝
[root@svn ~]# yum install subversion -y
########3建立SVN版本庫數據存儲根目錄(svndata)及用戶,密碼權限目錄(svnpasswd)
[root@svn ~]# mkdir -p /root/svndata 數據存儲根目錄
[root@svn ~]# mkdir -p /root/svnpasswd用戶密碼權限目錄
啓動SVN服務指定訪問的SVN根目錄
[root@svn ~]# svnserve -d -r /root/svndata/
########################################################################################
[root@svn ~]# svnserve -d -r /root/svndata/ --啓動SVN服務
[root@svn ~]# ps -ef |grep svn 查看SVN進程
[root@svn ~]# lsof -i :3690 檢查svn端口號
創建一個新的SVN項目sadoc其實類似sadoc這樣的項目可以創建多個,每個項目對應不同的代碼,這裏只是以創建一個項目爲例。
[root@svn ~]# svnadmin create /root/svndata/sadoc
配置SVN文件及權限
[root@svn ~]# cd /root/svndata/sadoc/conf/
[root@svn conf]# vim svnserve.conf
更改後的結果:
[root@svn conf]# diff svnserve.conf.org svnserve.conf
12,13c12,13
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
20c20
< # password-db = passwd
---
> password-db = /root/svnpasswd/passwd
27c27
< # authz-db = authz
---
> authz-db = /root/svnpasswd/authz
爲了安全起見可以加權限
[root@svn conf]# cd /root/svnpasswd/
[root@svn svnpasswd]# chmod 700 *
cd /root/svnpasswd/
[root@svn svnpasswd]# vim passwd
[root@svn svnpasswd]# cat passwd
zhangyang = zhangyang123
gongli = gongli123
stu001 = 123
stu002 = 456
youngcheung = youngcheung123
[root@svn svnpasswd]# svnserve -d -r /root/svn
root@svn svnpasswd]#cat authz
[/]
zhangyang = rw
http://sourceforge.net/projects/tortoisesvn/files/latest/download
svn co svn://10.0.0.52/sadoc/ /root/sadoc/