参考:http://blog.csdn.net/lpdx111/article/details/17161751
一,安装svn
二,步骤
1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn
2,新建一个版本仓库
# svnadmin create /home/svn/project
3,进入project/conf/passwd配置svn的账号密码
格式:账号 = 密码
可以配置多个账号密码
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw
4,配置svn账号的访问权限
[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =
说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
6,修改svnserve.conf文件,让用户和策略配置升效.
svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
7,启动服务器
# svnserve -d -r /home/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve
# kill -9 ID号 或者killall svnserve
# svnserve -d -r /home/svn
svn出现Authorization failed
8,自动同步(最好严格按照如下顺序执行)
1)
#vi post-commit 内容如下: #!/bin/sh #设定环境变量,如果没有设定可能会出现update报错 export LANG=zh_CN.UTF-8 #设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8 SVN_PATH=/usr/bin/svn #不要改 WEB_PATH=/home/www #一定要改成对应上面那个home/www目录 $SVN_PATH update svn://127.0.0.1/project $WEB_PATH --username 用户名 --password 密码 --no-auth-cache
退出编译:esc
保存退出:ZZ
2)输入下面2个命令
export LANG="zh_CN.UTF-8"
chmod -R 755 post-commit
3)重要:你先得手动checkout一份到指定目录
其中/home/www/project/code是你自己想存储代码的位置
9,最后你可以在你本地checkoutsvn://localhost/project
试着提交一次看看
其他问题
1,若报错utf8编码问题,大胆在命令行输入
export LANG="zh_CN.UTF-8"
必要的时候,需要重新create一个仓库,重新配置
这个时候要先设置
export LANG="zh_CN.UTF-8"
然后,hooks里的post-commit也修改 "zh_CN.UTF-8"然后,需要重新checkout一个仓库。3. Warning: post-commit hook Failed (exit code 255) with no output.
如果执行提交时SVN提示255错误,则是 post-commit 脚本文件的权限不对,post-commit 脚本必须有 +x 权限。
chownsvn:svnpost-commit
chmod+xpost-commit
待确认点
1,/home/www是可以任意指定的吧
2,自动update svn的脚本,如果有冲突怎么办,貌似该问题会很严重。
解决方案:
把服务器需要修改的配置文件,在本地务必igore,保证服务器修改的文件,本地是绝对不会提交。
3,如何删除彻底之前建立的svn仓库
- 顶
- 0
- 踩
- 0