参考:
http://wiki.ubuntu.org.cn/SubVersion
1. 安装 svn
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
2. 配置 svn
2.1 创建名为 "subversion" 的组
$ sudo addgroup subversion
2.2 将自己和 "www-data" (Apache 用户)加入组成员中
$ sudo usermod -G subversion -a www-data
2.3 查看修改结果
$ cat /etc/group|grep subversion
subversion:x:1001:www-data
2.4 注销以使设置生效
2.5 创建以下目录结构
/home/svn/java
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir java
2.6 创建 svn 文件仓库
$ sudo svnadmin create /home/svn/java
2.7 改变目录的拥有者和所属群组
$ sudo chown -R root:subversion java
2.8 赋予组成员相应权限
$ sudo chmod -R g+rws java
赋予其他成员写的权限
$ sudo chmod -R o+w java
3. 设置访问方式
3.1 svn:// 访问
3.1.1 编辑 /home/svn/java/conf/svnserve.conf
$ sudo gedit svnserve.conf
取消下面几行的注释符
[general]
# 禁止匿名访问
anon-access = none
# 认证访问具有写权限
auth-access = write
# 使用 passwd 文件进行身份认证控制 authentication
password-db = passwd
# 使用 authz 文件进行授权控制 authorization
authz-db = authz
3.1.2 编辑 /home/svn/java/conf/passwd
$ sudo gedit passwd
# 添加新用户
[users]
admin = pass.admin
developer = pass.developer
other = pass.other
3.1.3 编辑 /home/svn/java/conf/authz
# 设置授权
[groups]
group_rw = admin,developer
group_r = other
[java:/]
admin = rw
[java:/projects]
@group_rw = rw
[java:/demo]
@group_rw = rw
[java:/temp]
@group_r = r
@group_rw = rw
3.1.4 启动 svn server
$ svnserve -d --foreground -r /home/svn
$ svnserve --help
访问路径 svn://hostname/java
3.1.5 安装 eclipse svn 客户端
Subclipse 1.6.x Update Site - http://subclipse.tigris.org/update_1.6.x/
3.1.6 创建如下目录结构
以 admin 身份登录建立如下目录结构
svn://hostname/java
/projects
/projectA
/branches
/tags
/trunk
/demo
/temp
之后 developer 可直接访问
svn://hostname/java/projects
svn://hostname/java/demo
svn://hostname/java/temp
other 用户只能访问
svn://hostname/java/temp
3.1.7 清空 eclipse 缓存的 svn 密码
C:\Users\<userName>\AppData\Roaming\Subversion\auth\svn.simple
3.1.8 关闭 svn server
$ killall svnserve
3.1.9 删除 svn repository
$ cd /home/svn
$ sudo rm -rf java
4. 设置 svn 开机自动启动
4.1 设置启动项内容
$ cd /etc/init.d
$ sudo gedit my_autoStart.sh
# 输入如下内容
# !/bin/bash
# svnserve startup
# 这里不能用 --foreground, 否则无法关机
svnserve -d -r /home/svn
# 修改权限
$ sudo chmod +rwx my_autoStart.sh
# 更新启动项
$ sudo update-rc.d my_autoStart.sh defaults
4.2 删除启动项内容
$ cd /etc
$ sudo rm rc*.d/*my_autoStart.sh