linux svn 配置

svn import /www/alvin/EasyLife svn://localhost/EasyLife1 -m "initial import" --username  **** --password **

转载:http://blog.csdn.net/pwlazy/article/details/1713613
背景:刚刚新装的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
 
文档中说 :
 如果一个版本库是位于/usr/local/repositories/project1,则一个客户端可以使用 svn://host.example.com/usr/local/repositories/project1 来进行访问
  
 你可以使用svnserve的-r选项,这样会限制只输出指定路径下的版本库:
  
 $ svnserve -d -r /usr/local/repositories
 …
 
 使用-r可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL:
  
 $ svn checkout svn://host.example.com/project1
  
所以通常情况下,如果你应该将产生的库根目录放在启动脚本的-r 或者--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   -    "  creating a project  "   svn:  //  192.168.1.100/visdot 
 
svn mkdir   -    "  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   -    "  creating a new branch  "   svn:  //  192.168.1.100/visdot/branches 
 
svn copy   -    "  create release branch for 1.0  "   svn:  //  192.168.1.100/visdot/trunk     / 
 
                                                               svn:  //  192.168.1.100/visdot/branches/rb-1.0
当然还有merge,
这已超过了本文讨论的范围,不再赘述








1,启动SVN 

sudo svnserve -d -r /home/data/svn/ 

其中 -d 表示守护进程, -r 表示在后台执行 
/home/data/svn/  为svn的安装目录 


2,关闭SVN 
这里采取linux杀死进程的方式处理的 
ps -ef|grep svnserve 
root      4967     1  0 Aug23 ?        00:00:00 svnserve -d -r repository/  
这里  kill -9 4967杀死进程, 此4967为进程号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值