在windows平台上,使用VisualSVN server比较方便,整合了Apache服务,GUI操作界面,能够更直观管理项目。Subversion 中的svnserve只提供了基础功能,用户账户之类都需要手工修改配置文件,而且全是明文, 不够安全。安装时配置用户账户和监听端口,通过地址访问: https://192.168.1.126:443/svn/test

   

 一.SVN的备份与还原:

     获取当前仓库版本号: svnlook youngest d:/repositories/test

     备份三种方式:

     1. svnadmin hotcopy 只能全量拷贝,比较耗时 

      svnadmin hotcopy d:/repositories/test d:/backup 

      2. svnadmin dump 支持全量备份和增量备份,并能够压缩文件,提供版本恢复机制

     全量备份:

     svnadmin dump d:/repositories/test > d:/repository_backup.svn

     备份时采用bzip2方式压缩:

     svnadmin dump d:/repositories/test |bzip2 > d:/repository_backup.bz2

     增量备份:

    svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –incremental > 导出的命名

    svnadmin dump d:/repositories/test --revision 0:1 --incremental > d:/backup.svn (转存版本0和1)

    3. svnsync 实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个

    还原版本:

    svnadmin load d:/reposity < d:/repository_backup.svn

 

二. 安全管理

    1. 限制IP的访问

     有时我们并不需要其它人访问我们的SVN服务器,可以在添加配置,屏蔽某些IP的访问

     打开 conf/httpd.conf,添加如下配置

 



LoadModule authz_host_module bin/mod_authz_host.so
<Directory />
Options FollowSymLinks
AllowOverride None

RewriteEngine on

Order Deny,Allow
Allow from 192.168.1.126
Deny From All
</Directory>

    在<Directory/>段时,添加允许访问的IP,不在配置的IP列表之内的都无法访问。


 

   

    2. 支持匿名访问

    默认情况下,访问svn源码需要输入用户名密码进行授权,可通过配置httpd.conf取消授权。

    将 <Location /> 中的 Require valid-user 

    修改为:

     



#Require valid-user
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

 


 

三. svn: OPTIONS of 'https://192.168.4.20/svn/hotplug2': Server certificate verification failed: certificate is not yet valid, certificate issued for a different hostname, issuer is not trusted (https://192.168.4.20)

执行 svn  https://192.168.4.20/svn/hotplug2  下载源码时报错,服务器证书验证失败。

可通过手动接受证书解决该问题:

svn list https://192.168.4.20/svn/                                         #显示svn源码列表

(R)eject, accept (t)emporarily or accept (p)ermanently? p  #选择永久接受