背景:刚刚新装的centos5 发布版,
敲上命令: svnserve --version
得出:svnserve,版本 1.4.2 (r22196)
看来系统已为我预装了subversion,我无需安装了
下面开始配置
Step1) 建立存储库
svnadmin create /home/svn-repos
Step2)开始配置
vi /home/svn-repos/conf/svnserve.conf
修改svnserve.conf
最终该文件如下:
[general]
anon-access = read
auth-access = write
password-db = passwd
上面的意思是可以匿名读,但写入必须要有权限,权限配置在passwd文件中
vi /home/svn-repos/conf/passwd
修改passwd文件
最终该文件如下:
[users]
weip=123
Step3) 启动服务
经过step1),step2),服务已配置好,可以启动了
svnserve --daemon --root /home/svn-repos
关于--root的使用请参看:
文档中说 :
正如我们上面的两句:
svnadmin create /home/svn-repos
svnserve --daemon --root /home/svn-repos
Step4)客户端访问
刚开始访问不了
于是检查iptables
简单的配置方法是vi /etc/sysconfig/iptables文件,在里面找到这样的一行:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
在这行上面加上:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
然后
./iptables restart
这样客户端就可以访问svn服务了,别的linxu可能没有这个问题
服务端启动了,但储存库还没有储存任何项目,此时你除了check out root之外(这个没什么意义),你不能check out其他任何东西,所以你必须要往储存库添点东西
比如我刚做了个项目visdot,但还未入库,怎么办
首先建立trunk
svn mkdir -m "creating a project" svn://192.168.1.100/visdot
svn mkdir -m "creating a trunk" svn://192.168.1.100/visdot/trunk
然后你就可以将这个trunk checkout到本地目录比如d:\projects\visdot,此时checkout下来是空目录
这时你就可以将你的项目内容拷贝到d:\projects\visdot,接着可以check in了
上面的192.168.1.100就是你启动了svn服务的Linux机器地址,到此你的项目完全入库
接下来你就可以check in, check out 你的项目了
上面的几部操作你可以使用命令行来完成,也可以使用gui 客户端,比如eclipse的subversion 插件
后记:
假设你的trunk已经上线,那么接下来要不断升级的话,你应该创建分支来根踪项目
比如:
svn mkdir -m "creating a new branch" svn://192.168.1.100/visdot/branches
svn copy -m "create release branch for 1.0" svn://192.168.1.100/visdot/trunk \
svn://192.168.1.100/visdot/branches/rb-1.0
当然还有merge,
这已超过了本文讨论的范围,不再赘述
阅读(994) | 评论(0) | 转发(0) |