svn远程创建版本库

Quick Start

进入远程服务器的svn目录

比如我测试的服务器svn目录在/var/svn下

1
cd /var/svn

新建版本库

1
svnadmin create xuyuan

查看xuyuan版本库是否已经成功创建

1
2
cd /var/svn
ls

修改版本库配置文件

配置svnserve.conf

1
2
3
cd xuyuan
cd conf
vi svnserve.conf

修改以下配置:

1
2
3
anon-acess = none //未存在用户没有任何权限
auth-acess = write //存在用户有写的权限
password-db = passwd

配置passwd

1
vi passwd

在passwd文件最下方添加用户:

1
xuyuan = 123456

配置authz

在最下方添加用户的权限

1
2
[/]
xuyuan = wr

本地新建空文件夹取回版本库

1
2
svn checkout
svn://210.45.245.5/xuyuan

会下载最新版本xuyuan库

关联提交文件到远程服务器指定文件夹下

svn只能上传到版本库下
svn版本库不支持remote文件到服务器功能
可以使用sublime sftp工具,配置sftp-config.json文件可以remote文件.

实现公用项目代码自动更新update

可以使用svn hooks

将post-commit.tmpl拷贝一份到post-commit

1
2
3
4
5
cd [svn版本库]
cd hooks
ls
cp post-commit.tmpl post-commit
vi post-commit

然后要赋予post-commit文件可执行的权限

1
chmod +x post-commit

此时,通过ls -al可以查看到post-commit已有执行的权限了。
编辑post-commit,在文件后面加入下面的代码,要根据具体的项目做出相应的调整:

1
2
export LANG=en_US.UTF-8
svn update --username xuyuan --password 123456 /var/www/html/dangxiao --no-auth-cache

在测试服务器文件夹根目录checkout版本库

使用shell因为是同时在测试服务器上checkout svn 版本库,所以服务器IP为localhost

1
2
cd html/[工作副本文件夹]
svn checkout svn://localhost/xuyuan

配置域名

进入根目录文件夹下的httpd文件夹下,修改vhost

1
2
cd /etc/httpd
vi vhost

添加一段新的vhost:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#library by cassie
<VirtualHost *:80>
ServerName findlove.net
ServerAdmin hfutonline@163.com
DocumentRoot "/var/www/html/cassiexu/xyfind/public/"
SetEnv APPLICATION_ENV "development"
<Directory "/var/www/html/cassiexu/xyfind/public/">
DirectoryIndex index.php
AllowOverride All
Order deny,allow
Allow from all
#Option Index
</Directory>
</VirtualHost>

配置完毕后,需要重启apache.

1
service httpd restart