版本信息:CentOS release 6.5-2.6.32-431.el6.i686
[root@pluto ~]# cat /etc/redhat-release
[root@pluto ~]# uname -a
功能:SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。
一.服務端安裝與配置
安裝:
[root@pluto ~]# yum -y install subversion
[root@pluto ~]# rpm -qa subversion
subversion-1.6.11-15.el6_7.i686
[root@pluto ~]# find / -name subversion-1.6.11-15.el6_7.i686.rpm
/var/cache/yum/i386/6/updates/packages/subversion-1.6.11-15.el6_7.i686.rpm
[root@pluto ~]# mkdir -p /application/svndata //創建SVN版本根目錄
[root@pluto ~]# mkdir -p /application/svnpasswd //創建密碼權限目錄
[root@pluto ~]# svnserve -d -r /application/svndata/ //啓動SVN服務
[root@pluto ~]# ps -ef|grep svn //查看服務是否啓動
root 1479 1389 0 01:06 pts/0 00:00:00 grep svn
[root@pluto ~]# netstat -lntup|grep svn //查看端口
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1493/svnserve
[root@pluto ~]# svnadmin create /application/svndata/pluto //建立版本庫(項目)
[root@pluto conf]# /bin/cp svnserve.conf svnserve.conf.bak.$(date +%F) //做備份,$(date +%F)表示時間
配置文件
[root@pluto conf]# vi /application/svndata/pluto/conf
anon-access = none(否)/read(是) //是否匿名訪問
auth-access = write //是否允許寫入
password-db = /application/svnpasswd/passwd //密碼數據庫
authz-db = /application/svnpasswd/authz //權限數據庫
set nu //顯示序號
[root@pluto conf]# diff svnserve.conf.bak.2016-01-21 svnserve.conf //對比配置文件修改的內容
12,13c12,13
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
20c20
< # password-db = passwd
---
> password-db = /application/svnpasswd/passwd
27c27
< # authz-db = authz
---
> authz-db = /application/svnpasswd/authz
[root@pluto svnpasswd]# chmod 700 * //改權限
[root@pluto svnpasswd]# ll
總用量 8
-rwx------ 1 root root 1080 1月 21 02:21 authz
-rwx------ 1 root root 309 1月 21 02:21 passwd
[root@pluto svnpasswd]# vi passwd //SVN密碼數據庫
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
pluto = yujiayu0013 //賬號 = 密碼
kimi = yujiayu0013
[root@pluto svnpasswd]# vi authz //SVN權限數據庫
svn = pluto,kimi //把賬號加入組
system = svnroot //管理員
[pluto:/] //項目名
@svn = rw /*給組賦權限
@system = r
[root@pluto svnpasswd]# pkill svnserve //結束SVN服務
[root@pluto svnpasswd]# ps -ef|grep svn
root 1691 1389 0 02:36 pts/0 00:00:00 grep svn
[root@pluto svnpasswd]# svnserve -d -r /application/svndata/ //重啓SVN服務
[root@pluto svnpasswd]# ps -ef|grep svn
root 1694 1 0 02:37 ? 00:00:00 svnserve -d -r /application/svndata/
root 1696 1389 0 02:37 pts/0 00:00:00 grep svn
二.客戶端http://pan.baidu.com/s/1kUcGS3X#path=%252F%25E5%2588%2586%25E4%25BA%25AB%252Flinux
三.實例
[root@pluto /]# mkdir /share [root@pluto share]# mkdir trunk branch tags -p [root@pluto application]# svn import /share/ file:///application/svndata/pluto/ -m "pluto" <<==本地導入方式 [root@pluto /]# svn import /share/ svn://192.168.1.128/pluto/ -m "pluto" 增加 /share/trunk //主線 增加 /share/branch //分支 增加 /share/tags //標記 提交後的版本爲 5。 [root@pluto /]# svn checkout svn://192.168.1.128/pluto/ /pluto/ --username pluto --password yujiayu0013 [root@pluto pluto]# ll 總用量 16 drwxr-xr-x 3 root root 4096 1月 26 05:31 branch drwxr-xr-x 3 root root 4096 1月 26 05:31 tags drwxr-xr-x 3 root root 4096 1月 26 05:30 trunk [root@pluto pluto]# cd trunk/ [root@pluto trunk]# touch test.log [root@pluto trunk]# echo 779699413 >test.log [root@pluto trunk]# svn add test.log A test.log [root@pluto trunk]# svn ci -m "RZ test.log" 增加 trunk/test.log 傳輸文件數據. 提交後的版本爲 8。 |