版本:ubuntu 10.04
1.安装$ sudo apt-get install subversion
2.添加svn管理用户及subversion组(可以不添加)
$ sudo adduser svnuser
$ sudo addgroup subversion
$ sudo addgroup svnuser subversion
3.创建项目目录$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir IPMsg
$ sudo chown -R root:subversion IPMsg
$ sudo chmod -R g+rws IPMsg
4.创建SVN文件仓库$ sudo svnadmin create /home/svn/IPMsg
访问方式及项目导入:
$ svn co file:///home/svn/IPMsg
或者
$ svn co file://localhost/home/svn/IPMsg
* 注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
//--下面的命令用于将项目导入到SVN 文件仓库:
$ svn import -m "New import" /home/wanpeng/Desktop/IPMsg file:///home/svn/IPMsg //注意前边是项目,后边是svn仓库
一定要注明导入信息//--------------------------//
6.访问权限设置修改 /home/svn/IPMsg/conf目录下:svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格
//--编辑svnserve.conf文件,
把如下两行取消注释
password-db = password
authz-db = authz
//补充说明# [general]
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,
只需把 read 改成 none 就能达到目的。
//--编辑/home/svn/IPMsg/conf/passwd 如下:
[users]
zhang = zhang
long = long
wang = wang
//--编辑/home/svnuser/etc/authz如下
[groups]
admin = zhang,long //用户组1
test = wang //用户组2
[/] //当前仓库 ,可以设置成不同的文件夹用户组具有不同的访问权限
@admin=rw //设置admin用户组权限为读写
*=r //所有用户的权限为 读
zhang和long属于admin组,有读和写的权限,wang属于test组只有读的权限
7.启动SVN服务svnserve -d -r /home/svn
描述说明:-d 表示svnserver以“守护”进程模式运行-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,
就可以访问版本库如: svn://127.0.0.1/IPMsg
这时SVN安装就完成了.
局域网访问方式:例如:svn checkout svn://125.222.219.206/IPMsg
输入本机密码,用户名,密码 ok。
--------------------------------------------华丽的分割线----------------------------------------------------------------------------------------------
问题及解决方案:
SVN commit或import 的 Permission denied的原因
关键字: svn permission denied
配置svn+apache服务器时,在导入或提交时,如果是unix、linux、mac os x等系统可能遇到类似这样的权限问题:
写道
svn: 提交失败(细节如下):
svn: Can't open file ' /home/svn/IPMsg/db/txn-current-lock': Permission denied
或者
写道
svn: 提交失败(细节如下):
svn: Can't create directory '/home/svn/IPMsg/db/transactions/1-2.txn': Permission denied
这个主要原因:在svnadmin create时是root身份,所以,mod_dav_svn就没有write权限等。
解决办法:
写道
sudo chown -R daemon /home/svn/IPMsg
sudo chmod -R 755 /home/svn/IPMsg
再试就ok~
其他机器提交显示如下错误时:
[purecoder@purecoder IPMsg]$ svn ci *
svn: 提交失败(细节如下):
svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项
svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项
使用svn commit 命令时给出-m的log选项
[purecoder@purecoder IPMsg]$ svn ci -m "log content" *