svn 版本管理工具。
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
1.环境
# cat /etc/redhat-release
CentOS release 6.3 (Final)
# getconf LONG_BIT
64
2.安装 svn
#yum -y install subversion
3.配置svn
3.1 建立版本库根目录
# mkdir -p /data/svn
3.2 建立svn版本库
# svnadmin create /data/svn/test
2.创建版本库并指定数据存储模式为FSFS
# ./svnadmin create --fs-type fsfs /www/svn/repository/
3.3 修改版本库配置文件
# vim /data/svn/test/conf/svnserver.conf
各参数功能在配置文件的注释中有说明, 此处配置如下:
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = /opt/svndata/repos/conf/pwd.conf # 指明密码文件路径
authz-db = /opt/svndata/repos/conf/authz.conf # 访问控制文件
realm = /opt/svndata/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
4.配置用户
# cat /data/svn/test/conf/passwd | grep -v '^#'
[users]
user = password
5. 启动svn
# svnserver -d -r /data/svn
6. 防火墙开启 3690端口;
注意:
导入:
svn import test(里面有目录就是要增加的文件夹) file:///svndata/trunk/(svn路劲下) -m "first import"
查询svn库里面的:
svn list --verbose file:///svndata/yunwei/
然而直接删除一个URL,你需要提供一个日志信息:
$ svn delete -m "Deleting file 'yourfile'" file:///var/svn/repos/test/yourfile
Committed revision 15.
代码回滚:
我使用的SVN 是1.4.3. 要版本库回滚,好像只要选中要回退的目录/文件在Show Log 中点击正确的版本,点击右键,再选择Revert to this revision ,最后再Commit 一次就可以了。