一、介绍
Subversion 简称就是svn服务器,用来托管代码的,类似的还有git
1)Centos6.6
2)Subversion
二、安装
yum -y install subversion
三、配置
$ vi /etc/init.d/svnserve#!/bin/bash## svnserve Startup script for the Subversion svnserve daemon## chkconfig: - 85 15# description: The svnserve daemon allows access to Subversion repositories /# using the svn network PRotocol.# processname: svnserve# config: /etc/sysconfig/svnserve# pidfile: /var/run/svnserve.pid#### BEGIN INIT INFO# Provides: svnserve# Required-Start: $local_fs $remote_fs $network# Required-Stop: $local_fs $remote_fs $network# Short-Description: start and stop the svnserve daemon# Description: The svnserve daemon allows access to Subversion# repositories using the svn network protocol.### END INIT INFO# Source function library.. /etc/rc.d/init.d/functionsif [ -f /etc/sysconfig/svnserve ]; then . /etc/sysconfig/svnservefiexec=/usr/bin/svnserveprog=svnservepidfile=${PIDFILE-/var/run/svnserve.pid}lockfile=${LOCKFILE-/var/lock/subsys/svnserve}directory=${DIRECTORY-/var/subversion}args="--daemon --pid-file=${pidfile} --root=${directory} $OPTIONS"[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$proglockfile=/var/lock/subsys/$progstart() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 echo -n $"Starting $prog: " daemon --pidfile=${pidfile} $exec $args retval=$? echo if [ $retval -eq 0 ]; then touch $lockfile || retval=4 fi return $retval}stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval}restart() { stop start}reload() { restart}force_reload() { restart}rh_status() { # run checks to determine if the service is running or use generic status status -p ${pidfile} $prog}rh_status_q() { rh_status >/dev/null 2>&1}case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2esacexit $?$ mkdir -p /var/subversion$ cd /var/subversion/$ svnadmin create repos$ cd repos$ vi conf/svnserve.conf[general]anon-access = noneauth-access = writepassWord-db = passwdauthz-db = authz#realm = /var/subversion/repos[sasl]$ vi conf/passwd [users]kaiwen01 = kaiwen01kaiwen02 = kaiwen02kaiwen03 = kaiwen03$ vi conf/authz[groups]develop = kaiwen01,kaiwen02java = kaiwen03[repos:/]@develop=rw[repos:/permit]@java = rw* = r
四、运行
$ chkconfig svnverve on$ /etc/init.d/svnverve start
五、检查
$ ps aux|grep svnserve$ netstat -ntlp|grep svnserve
#默认端口3690
六、客户端运行测试
#检出
#提交
七、其他(另外附上一个自动创建项目的脚本,但是必须放到创建项目的当前文件夹)
$ vi /var/subversion/svncreate.sh#!/bin/bash#read -p "Project Name: " namessvnadmin create $namescat >$names/conf/svnserve.conf<<EOF[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz[sasl]EOFcat >$names/conf/passwd <<EOF[users]${names} = ${names}-pass${names} = ${names}-pasSEOFcat >$names/conf/authz <<EOF[groups]develop = ${names},${names}[$names:/]@develop=rwEOF
新闻热点
疑难解答