sudo apt-get install subversion
2、创建svn根目录(SVN) sudo mkdir /home/ubuntu/SVN
3、创建项目仓库 - 首先在SVN根目录下创建一个新文件夹(T01)。
sudo mkdir /home/ubuntu/SVN/T01
- 使用svn命令创建SVN文件仓库
sudo svnadmin create /home/ubuntu/SVN/T01
4、配置SVN - 打开刚才创建的项目仓库(T01),里面会有一个conf文件夹,打开conf文件夹。
- svnserve.conf:svn服务配置文件
- passwd:设置用户名和密码
- authz:设置管理用户组和权限需要用到
4.1、首先设置打开passwd文件设置用户名和密码。
......
[users]
admin = admin123
#备注:admin是用户名、admin123是密码、(=)号前后有一个空格。
4.2、打开authz文件设置用户所属分组和权限
[groups]
group_admin = admin
[/]
@group_admin = rw
#备注:
# group_admin是用户分组名、admin是刚才我们添加的用户名称。可以根据需要添加多个分组
# [/]:表示所有文件夹的操作权限
# [a:/]:表示a文件夹下的所有文件的操作权限
# @group_admin: 表示为group_admin分组内的用户赋予权限
# r :表示读的权限
# w :表示写的权限
# rw :表示读写的权限都有
4.3、打开svnserve.conf文件修改svn服务配置
- 删除下面内容的前面的 #
anon-access = none
表示匿名用户的权限
auth-access = write
表示认证用户的权限
password-db = passwd
表示使用用户名密码
authz-db = authz
表示使用权限认证
5、启动svn服务 sudo svnserve -d -r /home/ubuntu/SVN
- 其中 -d 表示守护进程, -r 表示在后台执行
- /home/ubuntu/SVN 为svn的根目录
- 首先查看svn的进程id
ps -ef|grep svn
#备注:
# ps -ef #表示查看所有进程
# grep #表示进行筛选
7、连接svn 1、在服务器上创建需要存放的文件夹www
mkdir www
2、进入www文件夹
cd /www #进入要更新的目录
3、执行命令
svn co svn://IP地址
8、杀死svn进程 kill -9 进程id
killall svnserve
9、卸载svn sudo apt-get remove --purge subversion
10、Windows本地无权限上传问题 - Windows本地提交的时候,提交失败,提示错误:/db/txn-current-lock': Permission denied
- 网上查询得知,是因为用户不同的原因,执行如下命令完美解决:
sudo chmod -R o+rw /home/ubuntu/SVN
#备注:/home/ubuntu/SVN是你项目库的根目录的路径
11、创建钩子文件 # 1、打开svn下的hooks文件夹,复制post-commit.tmpl文件并去掉后缀.tmpl
cp -a post-commit.tmpl post-commit
# 2、给post-commit增加可执行权限
chmod +x post-commit
# 3、编辑post-commit的内容
#!/bin/sh
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
svn update /home/ubuntu/www || exit 1
#备注:/home/ubuntu/www是文件保存的位置路径
# 4、在当前文件目录下执行post-commit文件进行测试
./post-commit
#备注:创建钩子文件后,需要重启svn服务。
参考资料: