Subversion是一個自由,開源的版本控制系統。在Subversion管理下,文件和目錄可以超越時空。Subversion將文件存放在中心版本庫裡。這個版本庫很像一個普通的文件服務器,不同的是,它可以記錄每一次文件和目錄的修改情況。這樣就可以籍此將數據恢復到以前的版本,並可以查看數據的更改細節。正因為如此,許多人將版本控制系統當作一種神奇的“時間機器”。
[root@localhost ~]# cat /etc/RedHat-release //查看CentOS版本如下
CentOS release 5.6 (Final)
[root@localhost ~]# yum -y install subversion //利用yum安裝subversion軟件
[root@localhost ~]# svnserve --version //查看subversion版本
svnserve, version 1.6.11 (r934486)
[root@localhost ~]# mkdir -p /data/svndata/ //創建svndata目錄
[root@localhost ~]# svnadmin create /data/svndata/project/ //創建project庫名稱
[root@localhost ~]# ls /data/svndata/project/ //自動創建以下文件
conf db format hooks locks README.txt
[root@localhost conf]# cat authz //查看authz的設置
[aliases]
[groups]
admin = user1 //設置組admin
[/] //根目錄權限設置(就是“svndata”這個文件夾)
user1 = rw //用戶1權限是:可讀寫
user2 = r //用戶2權限是:可讀,不可寫
@admin = rw //設置組權限
[svndata:/project] //設置svndata目錄權限
user1 = rw
user2 = r
[root@localhost conf]# cat svnserve.conf //查看svnseve.conf配置文件
[general]
anon-access = none //控制非鑒權用戶訪問版本庫的權限。
auth-access = write //控制鑒權用戶訪問版本庫的權限
password-db =/data/svndata/project/conf/passwd //指定用戶名口令文件名
authz-db =/data/svndata/project/conf/authz //指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制
realm = My First Repository //指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的
認證域相同,建議使用相同的用戶名口令數據文件
[root@localhost conf]# cat passwd //查看passwd文件
[users]
user1 = user1 //用戶名 密碼的格式
user2 = user2
. .
. . //以此類推
[root@localhost ~]# svnserve -d -r /data/svndata/project/(默認3690)
啟動svnserve時出現cannot bind server socket:address already in use
svnserve -d --listen-port 3691 -r /data/svndata/project
訪問使用IE svn://ip或者TortoiseSVN客戶端軟件即可。