svn 版本控制简单管理

Centos下安装svn版本控制:

1.yum install subversion

安装好之后,配置版本库:

svnadmin create test
 

那么在当前目录下会产生5个文件:

drwxr-xr-x 2 root root 4096 Sep 26 16:48 conf
drwxr-sr-x 6 root root 4096 Sep 26 17:01 db
-r--r--r-- 1 root root    2 Sep 20 17:32 format
drwxr-xr-x 2 root root 4096 Sep 26 17:01 hooks
drwxr-xr-x 2 root root 4096 Sep 20 17:32 locks
-rw-r--r-- 1 root root  229 Sep 20 17:32 README.txt
 

进入conf文件里会看到3个文件:authz,passwd,svnserve.conf。authz为用户权限文件,passwd为用户的新增密码文件,svnserve.conf为版本库的配置文件。

在此举例mkdir -p /svn

在/svn下创建版本库:svnadmin create test

进入conf里进行配置文件,在svnserve.conf为:

anon-access = read
auth-access = write

password-db =/svn/passwd

realm = test

在authz设置:

[test:/]
test = rw

在passwd设置:

[user:/]

test=test

然后将authz,passwd复制到/svn下,这样的话,在/svn下再可以创建不同的svn版本库。

如果需要强制用户填写message的话,需要在hooks下进行配置


REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
#$SVNLOOK log -t "$TXN" "$REPOS" | \
#   grep "[a-zA-Z0-9]" > /dev/null || exit 1

# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
#commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1

# All checks passed, so allow the commit.
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符,您可自定义
then
  echo -e "请输入注释信息,最少5个字符,谢谢!!" 1>&2
  exit 1
fi
exit 0

设置好之后,将pre-commit.tmpl重命为pre-commit。给其赋予执行权限。

 chmod +x pre-commit

svn简单的基本管理配置如上.如果需要再重新创建svn版本库。只需要在/svn下

svnadmin create test2

配置文件参考版本库test的配置方法。其实现在起作用的配置文件是/svn/authz,/svn/passwd.需要注意的是conf文件夹下的svnserve.conf里的authz,passwd指向/svn下的2个对应文件。

svn版本移动备份:

1.根据上面的方法,在另外一台机子安装sub软件,创建test的版本库。

2.开始要svn初始化:svnsync init svn://localhost/test svn://remote_ip/test

3.初始化之后,就做备份.svnsync sync svn://localhost/test

 

 

 

http://www.php-oa.com/2007/10/17/%E5%9C%A8linux%E4%B8%8Asubversion%E5%AE%9A%E6%9C%9F%E5%AE%8C%E6%95%B4%E5%A4%87%E4%BB%BD%E8%84%9A%E6%9C%AC%E6%B5%8B%E8%AF%95%E6%AD%A3%E5%B8%B8.html

 

 

 

你可能感兴趣的:(SVN,职场,休闲,版本控制简单管理配置)