安装svn
[root@localhost ~]# yum -y install subversion
创建两个目录 一个 数据存储 一个用户密码
[root@localhost ~]# mkdir -p /application/svndata #数据存储
[root@localhost ~]# mkdir -p /application/svnpasswd #用户密码
开启 SVN
默认端口3690
[root@localhost ~]# svnserve -d -r /application/svndata
[root@localhost ~]# ps aux | grep svn
root 1797 0.0 0.0 180716 808 ? Ss 22:48 0:00 svnserve -d -r /application/svndata/
root 1799 0.0 0.0 112720 984 pts/0 S+ 22:48 0:00 grep --color=auto svn
创建一个代码库
[root@localhost ~]# svnadmin create /application/svndata/sadoc
[root@localhost ~]# cd /application/svndata/sadoc
[root@localhost sadoc]# ls
conf db format hooks locks README.txt
[root@localhost sadoc]# cd conf/
[root@localhost conf]# ls
authz passwd svnserve.conf
先备份配置文件
[root@localhost conf]# cp svnserve.conf svnserve.conf.ori
[root@localhost conf]# ls
authz passwd svnserve.conf svnserve.conf.ori
修改配置文件
anon-access = none #禁止匿名访问
auth-access = write
password-db = /application/svnpasswd/passwd #统一的密码管理
authz-db = /application/svnpasswd/authz #统一的数据库
查看一下修改了那些地方
[root@localhost conf]# diff svnserve.conf.ori svnserve.conf
12d11
< ### Valid values are "write", "read", and "none".
19,20c18,19
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
27c26
< # password-db = passwd
---
> password-db = /application/svnpasswd/passwd
34c33
< # authz-db = authz
---
> authz-db = /application/svnpasswd/authz
[root@localhost conf]# pwd
/application/svndata/sadoc/conf
[root@localhost conf]# ls
authz passwd svnserve.conf svnserve.conf.ori
[root@localhost conf]# cp passwd authz /application/svnpasswd/
[root@localhost conf]# pwd
/application/svndata/sadoc/conf
[root@localhost conf]# cd /application/svnpasswd/
[root@localhost svnpasswd]# ls
authz passwd
加权限只有root访问
[root@localhost svnpasswd]# chmod 700 *
[root@localhost svnpasswd]# ls
authz passwd
重启snv
pkill svnserve
svnserve -d -r /application/svndata
vi /application/svnpasswd/passwd
root = 123456
例:
vi /application/svnpasswd/authz
sagroup = root
[sadoc:/]
root = rw
@sagroup = r
例
注意authz里的配置 passwd例必须要的才可以
客户端的下载操作 下载地址要新建
SVN管理下载 svn co下载 svn:// IP /项目名 /下载的地址/ --username=用户名 --password=密码
[root@localhost svnpasswd]# svn co svn://192.168.33.129/sadoc /svndata/ --username=root --password=123456
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://192.168.33.129:3690> 5250ce31-33f3-4b53-a463-4885f7c1522b
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
取出版本 0。
更新代码 更新到本地/svndata目录下面
[root@localhost svnpasswd]# svn update /svndata/ --username=root --password=123456
正在升级 '/svndata':
版本 0。
SVN本地下载代码
[root@localhost svndata]# svn co file:///application/svndata/sadoc
取出版本 0。
SVN字符集 不能中文
shell 字符集
[root@localhost svndata]# export LC_CTYPE="en_US.UTF-8"
[root@localhost svndata]# export LV_ALL=
本地提交代码到SVN
先添加 再提交
[root@localhost svndata]# svn add a
A a
[root@localhost svndata]# svn ci -m "svn ci data"
正在增加 a
传输文件数据.
提交后的版本为 1。