本文主要讲述了在CentOS6.5中安装SVN Server的整体过程,希望对大家能有一定的帮助。
安装Svn Server
采用yum安装:
- yum install subversion
- 1
- 1
复制代码
输入y确认,然后进行subversion安装过程:
输入svn –version,验证subversion是否安装成功:
SVN服务的启动和停止
启动:
- svnserve -d -r /home/svnrepo
- 1
- 1
复制代码
-d 表示以守护进行运行
-r 表示svn根目录位置,访问时不需要输入全路径就可以访问代码库
停止:
创建SVN仓库
使用命令svnadmin create创建SVN仓库:
- svnadmin create /home/svnrepo/test --fs-type fsfs
- 1
- 1
复制代码
参数–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://localhost/test
- 1
- 1
复制代码
进入到当前仓库并添加文件,然后commit
- cd test/
- touch a.txt
- vim a.txt
- svn add a.txt
- svn commit -m "add a.txt"
- 1
- 2
- 3
- 4
- 5
复制代码
提交时输入用户名titan以及密码123456,完成提交。
|