【问题标题】:Migrate to Local SVN repository迁移到本地 SVN 存储库
【发布时间】:2020-05-22 15:31:09
【问题描述】:

我们目前在 Windows Server 上安装了 CSVN,我在我的 Windows 10 机器上使用 TortoiseSVN 客户端和 AnkhSVN for Visual Studio。

公司正计划停用 Windows 服务器。

我现在是唯一使用 SVN 的开发人员,并且我一直在家工作。因此,将存储库移动到我的本地计算机是有意义的(当然需要适当的备份)。

我相信 TortoiseSVN 可以使用 file: 而不是 http: 访问存储库

因此,我可以简单地将存储库数据文件夹从文件服务器复制到我自己的机器上,然后重新配置 Tortoise 以使用它们吗?

我是否也可以使用 AnkhSVN VS 插件来做到这一点?

谢谢

菲尔。

【问题讨论】:

  • 这能回答你的问题吗? How to move an SVN repository to a new server
  • 没错。但是,您需要确保在复制文件时关闭任何写入存储库文件(通常是 Subversion 服务器)的软件,以免出现不一致。我已经链接了一个类似的问题,请确保您查看所有答案,而不仅仅是接受的答案。
  • 谢谢,我去看看。我是否正确假设如果我使用 file:// 协议,我不需要在我的机器上安装服务器?
  • 我不能代表 AnkhSVN,但 Subversion 客户端通常会实现所有三种协议(TortoiseSVN 肯定会),file: 对于单用户本地访问来说绰绰有余。这就是我在大多数个人项目中使用它的方式。无论如何,存储库文件完全相同,您可以根据自己的喜好切换和组合协议。

标签: svn tortoisesvn ankhsvn collabnet


【解决方案1】:

因此,我可以简单地从文件中复制存储库数据文件夹吗? 服务器到我自己的机器上,并重新配置 Tortoise 以使用这些?

是的,您可以将存储库复制到您的家庭工作站并使用本地 file:// 协议访问存储库。确保在复制过程中没有人提交到存储库。

我是否也可以使用 AnkhSVN VS 插件来做到这一点?

AnkhSVN 支持file:// 协议。

我假设您当前的服务器已经很旧了。自 2010 年 2 月以来,Subversion 是 Apache 软件基金会 (ASF) 的一个项目。但是您将 Subversion 称为“CSVN”,它代表 CollabNet Subversion,所以我猜您的服务器(甚至可能是客户端)有一些 2010 之前的版本。最新版本是 1.10(长期支持,LTS)和 1.13(常规,短期支持)。

作为 Windows 用户,您可能想在家尝试VisualSVN Server。 VisualSVN Server 使用最新的 SVN 1.10 LTS 构建,只需单击几下即可安装,请参阅 Getting Started guide。该服务器具有现代管理界面(MMC 控制台)和存储库 Web UI(参见https://demo-server.visualsvn.com/!/#asf/view/head/subversion/trunk 的演示)。该服务器具有所有必备的存储库管理功能,例如备份、计划验证、基于 GUI 的权限管理等,打包在一个用户友好的 GUI 中,以及一个用于管理任务脚本和自动化的 PowerShell 模块。

移动存储库后,除了计划备份之外,还需要执行一些额外的维护:

【讨论】:

  • 感谢您的详细回复。我会检查你所有的链接,但因为我现在将是唯一使用它的人(并且已经使用了好几年了)我认为我不需要服务器解决方案,所以 file:// 解决方案就足够了.我只是想检查一下我是否可以简单地复制文件,并且不需要转换或迁移它们。
  • 刚刚检查了服务器,它正在运行 Subversion Edge 版本 5.10,上面写着 (c)2015。不过,我们使用它的时间要长得多,而且过去可能已经升级了很多次。
  • 我已将文件复制到本地计算机上,并与 Tortoise SVN 一起使用 relocate,这似乎有效,因为我可以查看修订历史记录。但是,当我提交时出现错误。这看起来与几年前我们从一台服务器移动到另一台服务器时遇到的问题相同。 stackoverflow.com/questions/34157204/… 但是,同样的解决方案显然不起作用,因为我的本地 PC 上没有 CSVN。有什么建议么?我应该开始一个新问题吗?
  • 提交被 pre-commit 钩子阻止(退出代码 255)输出:系统找不到指定的路径。如果您想解除锁定,请使用“检查修改”对话框或存储库浏览器。
  • @PhilPreen 在您的存储库中有一个自定义的管理员配置的预提交挂钩。例如,在C:\Repositories\MyRepo\hooks\pre-commit.bat。修复钩子脚本的代码或删除和提交将起作用。问题是钩子的代码试图访问您计算机上不存在的某些文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多