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 一次就可以了。