刚接触SVN的时候,因为对它不了解,又在Windows下面,被它的多版本库配置问题困扰很久,一直找不到完美解决方案,今天无意中在Linux下配置SVN时,发现它本身是支持的,通过配置--config-file参数指定全局的配置文件实现。写下此文来纠正以前错误的配置方式(主要是Windows系统下),分享给大家。
Linux和Windows下处理基本上一样的,先来看Linux下的svnserve的帮助信息:
[root@localhost ~]# svnserve --help usage: svnserve [-d | -i | -t | -X] [options] Valid options: -d [--daemon] : daemon mode -i [--inetd] : inetd mode -t [--tunnel] : tunnel mode -X [--listen-once] : listen-once mode (useful for debugging) -r [--root] ARG : root of directory to serve -R [--read-only] : force read only, overriding repository config file --config-file ARG : read configuration from file ARG --listen-port ARG : listen port [mode: daemon, listen-once] --listen-host ARG : listen hostname or IP address [mode: daemon, listen-once] -T [--threads] : use threads instead of fork [mode: daemon] --foreground : run in foreground (useful for debugging) [mode: daemon] --log-file ARG : svnserve log file --pid-file ARG : write server process ID to file ARG [mode: daemon, listen-once] --tunnel-user ARG : tunnel username (default is current uid's name) [mode: tunnel] -h [--help] : display this help --version : show program version information通常启动SVN服务,仅指定SVN版本库的根目录,如下:
svnserve -d -r /data/svn
然后在/data/svn下创建多个版本库:
cd /data/svn svnadmin create repos1 svnadmin create repos2
再依次配置repos1和repos2等版本库下的conf/svnserve.conf、conf/passwd、conf/authz文件。