Subversion (SVN) - Repository (版本库) 备份与恢复

Subversion (SVN) - Repository (版本库) 备份与恢复

创建时间:
2014-02-07 21:48
最近更新:
2016-02-19 14:19

定位 "版本库根目录"

安装 VisualSVN Server 时,必须指定 "版本库根目录"。

依次进行以下操作:
VisualSVN Server - VisualSVN Server (Local) - right click menu - Properties - Storage - Repositories Root
即可查看此 VisualSVN Server 所在计算机上 "版本库根目录"。

TonyRemark: 这似乎决定了:在一台计算机上,不可能同时存在多个 "版本库根目录"。

备份/导入 版本库

通过复制得到备份文件

使用 VisualSVN Server 创建的每一个 "版本库",在上述 "版本库根目录" 中,都有一个对应的同名文件夹,复制此文件夹,即可实现对该 "版本库" 的备份。

日常操作中,直接复制整个 "版本库根目录" 即可备份所有 "版本库"。

注意:大量网文中提及,如果复制时,有进程正在访问版本库,则此复制备份在还原时或还原后会出错。Tony 认为停止 "VisualSVNServer" 服务可避免此问题。

大型团队开发,无法停止服务、或需要同步备份,可使用 svnadmin 等命令行工具进行备份操作。常见命令有:

  • svnadmin dump
  • svnadmin hotcopy
  • svnsync

另:有网友说,最省事的方法莫过于安装 Collabnet SVN Edge 版 SVN 服务器,这个 SVN 服务器安装包的安装配置很省心,基本一个安装包装完就能用,自带了 SVN 服务器控制台,通过控制台就可以配置进行 SVN 库的备份。

导入 "复制得到的备份文件"

2014-07-17 Tony GHOST 系统之后,全新安装 VisualSvnServer275 并依次创建 User 与 Group,然后按以下步骤逐一导入原有的版本库,一次成功:
VisualSVN Server - VisualSVN Server (Local) - Repositories - right click menu - all task - Import Existing Repository
导入完毕后的 D:\Repositories 与 D:\Repositories_Old 文件数、文件夹数、大小完全一致,

备份/导入 版本库 - 测试记录

在 VisualSVN Server 的 "Repositories Root" 目录中 (通常为 "D:\Repositories"),除了以下三个文件,会有 N 个 "库文件夹" 对应着每一个库。2016-02-19 将 D230S 上的全部 "库文件夹" 复制至 FtnDwjPc 上,然后在 "VisualSVN Server - 左侧导航栏 - 库名 - 右键 - 所有任务 - Manage Security..." 将 group 与 user 设置为本机的值 (未设时,因 D230S 与 FtnDwjPc 上的设置不同,导致报权限错误),即可正常使用。

  • "D:\Repositories\VisualSVN-GlobalWinAuthz.ini"
  • "D:\Repositories\groups.conf"
  • "D:\Repositories\htpasswd"

Resource

  1. SVN 版本库无损迁移与自动备份
  2. SVN 备份
  3. SVN 备份策略
  4. SVN 库迁移及备份方法详解
  5. SVN 迁移及备份

猜你喜欢

转载自hai0378.iteye.com/blog/2331837