本文主要讲述了在CentOS6.5中安装SVN Server的整体过程,希望对大家能有一定的帮助。
安装Svn Server
采用yum安装:
yum install subversion
输入y确认,然后进行subversion安装过程:
输入svn –version,验证subversion是否安装成功:
--
SVN服务的启动和停止
启动:
svnserve -d -r /home/svnrepo
-
-d 表示以守护进行运行
-
-r 表示svn根目录位置,访问时不需要输入全路径就可以访问代码库
停止:
killall svnserve
创建SVN仓库
使用命令svnadmin create创建SVN仓库:
svnadmin create /home/svnrepo/test --fs-type fsfs
参数–fs-type的值可以为Berkeley DB和FSFS,分别具有以下特性:
特性 |
Berkeley DB |
FSFS |
对操作中断的敏感 |
很敏感;系统崩溃或者权限问题会导致数据库“塞住”,需要定期进行恢复。 |
不敏感 |
可只读加载 |
不能 |
可以 |
存储平台无关 |
不能 |
可以 |
可从网络文件系统访问 |
不能 |
可以 |
版本库大小 |
稍大 |
稍小 |
扩展性:修订版本树数量 |
无限制 |
某些本地文件系统在处理单一目录包含上千个条目时会出现问题。 |
扩展性:文件较多的目录 |
较慢 |
较慢 |
检出最新代码的速度 |
较快 |
可以 |
大量提交的速度 |
较慢,但时间被分配在整个提交操作中 |
较快,但最后较长的延时可能会导致客户端操作超时 |
组访问权处理 |
对于用户的umask设置十分敏感,最好只由一个用户访问。 |
对 umask设置不敏感 |
功能成熟时间 |
2001年 |
2004年 |
- conf : 配置文件所在目录,主要是权限控制配置文件 - db : 存放仓库数据 - hooks : 钩子程序目录
SVN仓库的权限配置
进入仓库的conf目录,有3个文件:authz,passwd,svnserve.conf。 svnserve.conf为SVN服务配置文件:
主要配置项:
anon-access = read(配置匿名用户的权限,如果为read,代表匿名用户的权限为读,如果为none,则代表匿名用户没有权限)
auth-access = write(配置授权用户的权限,此处设置为写权限)
password = passwd (表示用户名密码配置在同级目录下的passwd文件中)
另外要特别注意,该文件中不要写中文内容,包括注释,我在设置权限时,在该文件中增加了中文注释,发现权限设置无效,在checkout时
authz文件的配置:
groups为组用户,配置代表harry_and_sally组,组内成员为harry和sally
[test:/]代表仓库test根目录的权限配置, titan = rw代表titan用户为读写权限
passwd文件的配置:
titan = 123456代表titan用户的密码为123456
仓库checkout并commit
使用svn命令checkout代码库
svn checkout svn:
进入到当前仓库并添加文件,然后commit
cd test/
touch a.txt
vim a.txt
svn add a.txt
svn commit -m "add a.txt"
提交时输入用户名titan以及密码123456,完成提交。
(责任编辑:IT) |