Svn

来自Shiyin's note
跳到导航 跳到搜索

用法

  • svn co remotedirect localdiret --username
svn co 只能check 目录, 不能co文件; 如果需要co文件, 需要用 svn export;
  • 常见命令http://www.jb51.net/os/RedHat/2461.html


SVN服务

安装

yum install subversion websvn

svn的配置

  • 修改/etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<location /svn> #该目录名表示http://localhost/svn 访问,可修改
       SVNParentPath /var/svn/ #放置项目文件的根目录,该目录下可以有多个项目
       AuthType Basic 
       AuthName "Please enter your passwor"
       AuthUserFile /etc/svn-auth-users #访问该文件的口令
       Require valid-user
</Location>
  • 访问文件口令的产生
htpasswd  -c /etc/svn-auth-users svn  #用户名为svn可更改
  • 保证svn和apache(http服务)可以对 /var/svn目录的读写权限
groupadd subversion # 产生一个subversion的用户组织
usermod -a -G subversion apache #加入apache(http服务)
useradd svn  (增加svn用户,估计不必要)
usermod -a -G subversion svn #加入apache 
chmod -R 775 /var/svn # subversion组都有读写权限
  • 设置SELINUX
chcon -R -t httpd_sys_content_t /var/svn/
chcon -R -t httpd_sys_rw_content_t /var/svn/
  • 重启apache
/etc/init.d/httpd restart
  • svnadmin create /var/svn/testrepo/
  • 导入项目文件
svn import /path to your source file:///var/svn/testrepo/ -m "intial import"
  • 配置testrepo项目的访问和管理权限(尚未测试)
vim /var/svn/testrepo/conf/svnserve.conf
  • 设置svnserve服务的根目录
svnserve -d -r /var/svn

websvn配置

  • 修改/etc/httpd/conf.d/web.conf,可参照subversion.conf
  • 重启apache
  • 修改websvn的php设置
vim /usr/share/websvn/include/config.php
$config->parentPath('/var/svn'); # 去掉这一行的注释,并修改