1.测试环境
centos5.5
2.安装svn
yum -y install subversion //测试SVN是否安装成功,执行:svnserve --version
3.配置
mkdir /www/svndata //建立版本库目录
附:killall svnserve //停止svn服务
4.建立版本库
svnadmin create /www/svndata/oplinux //创建一个新的Subversion项目
配置允许用户rsync访问
cd /www/svndata/oplinux/conf
vi svnserve.conf
找到以下几行 ,把前面的“#”号去掉,并修改anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
vi passwd
打开文件后,修改,我们定义一个用户为 rsync 密码也是 rsync,当然这个您也可以自己设,只要知道前面是用户名,后面是密码就可以了
[users]
#<用户1> = <密码1>#<用户2> = <密码2>
rsync=rsync
最后
svnserve -d -r /www/svndata //将/www/svndata设为版本库,并启动svn服务
至此服务器端就基本上配置好了.
5.客户端连接
svn co svn://ip/oplinux /www/webroot 或用绝对路径 svn co svn://ip/www/svndata/oplinux /www/webroot/oplinux
这个具体要看您前面swvnserve 启动时后面的路径
前面的路径是svn服务的地址 后面的是你要导出的路径
输入命令后 会提示,输入用户名和密码 ,rsync. windows下tortoiseSvn 会弹出一个窗口.
一般来说,在windows下做开发的人员, windows checkout一个出来 ,linux checkout出来,就能实现2者的同步
Linux导入:
svn import example svn://localhost/www/svndata/exxxx -m "XXXX";
命令的意思是把example这个目录 拷贝到 这个svn地址下,你也可以使用tortoiseSvn 去add,然后update
常见问题
1.如遇上 svn no repository found in 。。。 字样。
就看一下svnservice 启动了没
记得启动服务 一般名字是svnservice 可用service --stayus-all;查看 ,或者看看checkout地址有错不.
/*linux svn 一般操作*/以下以bbs这个文件夹为例子
Svn add svn (增加)
Svn commit –m “commit 20131023”bbs
2.如果 启动svnserve时出现cannot bind server socket:address already in use
解决方法:
方法一:找出svnserve id 杀死掉进程
netstat -ntlp //在最后一列能看到pid和服务名
kill -9 pid
方法二:重新指定一个端口号(默认端口3690)
svnserve -d --listen-port 3691 -r /opt/svndata/svnrepo
不用yum安装的情况比较麻烦,未完待续.......