看了很多网上的教程,都尝试着做了,但可能是由于不熟的原因,总也配置不对,现在把我的过程记录下来,希望不要重复以前的错误。
一、配置使用
1、安装svn很简单,一句命令行的事,剩下的就是yes,yes了。
sudo apt-get install subversion
2、安装完成过后,创建仓库文件
$sudo mkdir -p /opt/subverdion/svn ###创建版本库目录
$sudo svnadmin create /opt/subversion/svn ###创建版本库,生成配置文件
这里特别注意的是,我们的版本库名字就是svn,以后我们把代码放在svn下面,而不是和svn并行放置
3、配置svn,配置文件都在 /opt/subversion/svn/conf文件下面,首先进入这个文件
cd /opt/subversion/svn/conf
然后进行修改文件
修改svnserve.conf文件
a、去掉#[general]前面的#号
[general]
b、#匿名访问的权限,可以使read/write/none,默认是read
anon-access = none
c、#认证用户的权限,可以使read/write/none,默认为write
auth-access = write
d、#密码数据库的路径,去掉前面的#
passw-db = passwd
注意:其中 anon-access 和auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。
修改password文件
参考如下
[users]
root = 123
test1 = test1
修改auhz文件
[/]
root=rw
test1=r
4、使用
1)启动svnserve服务
sudo svnserve –d –r /opt/subversion
描述说明:-d: 表示 svnserve 以“守护”进程模式运行
-r: 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库svn:如:svn://192.168.12.118/svn
2)查看当前最新版本修订号
sudo svnlook youngest /opt/subversion
3)查看是否启动成功
sudo netstat -antp | grep svnserve
4)关闭服务器(这个运行了,记得打开服务不然后面无法运行)
sudo killall svnserve
5)导入svn工程
sudo svn import -m "New import" /home/test svn://localhost/svn
这里把/home/test文件下面的项目导入到svn文件夹中了,svn://localhost/svn,如果不适用的话,可以换成svn://127.0.0.1/svn
6)导出svn工程
打开你要导出的文件,然后运行下面的命令:
sudo svn checkout svn://127.0.0.1/subversion/svn
6)提交
svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名
必须带上-m参数,参数可以为空,但是必须写上-m
例子:
svn commit -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn commit -m “提交我的测试用test.php“ test.php
svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
svn ci -m “提交当前目录下的全部在版本控制下的文件“ * <- 注意这个*表示全部文件
svn ci -m “提交我的测试用test.php“ test.php
svn ci -m “提交我的测试用test.php“ -N --no-unlock test.php <- 保持锁就用–no-unlock开关
二、遇到的错误
1、Can’t open file ‘XXXXXXXX/db/txn-current-lock’: 拒绝访问。
Error1: Can’t open ‘db/txn-current-lock’: Permission denied
解决方法:添加读写权限。
sudo chmod –R o+rw /home/svn
借鉴文章