重置旧的 SVN 存储库或转换为 git

重置旧的 SVN 存储库或转换为 git

我有一个 SVN 存储库,在我安装旧 Windows 时它在本地运行。重新安装 Windows 后,显然旧的 SVN 服务器安装已被删除,现在我不知道如何使用这个旧存储库?我还没有在旧服务器上尝试 svn create,因为我担心会丢失存储库中的所有内容?

我要么仍然能够使用任何 SVN 服务器软件来使用它,要么将其转换为 git。两者都可以!

任何帮助,将不胜感激。

答案1

  1. 在某处复制 SVN 仓库
  2. 为了安全起见,创建一个转储

    svnadmin dump “C:\PATH\TO\REPO” > “C:\svnrepo.dump”

  3. 像以前一样创建一个新的 repo(例如svnadmin create "C:\SomeRepo"

  4. 将转储加载到新的存储库

    svnadmin 加载“C:\SomRepo”<“C:\svnrepo.dump”

我手边没有 Windows,因此无法验证 '<' '>' 的用法,但基本上就是这样。请注意,除非 svnadmin.exe 位于您的 %PATH 中,否则您可能必须提供系统中 svnadmin.exe 的完整路径。

Windows 颠覆示例

Windows Subversion 下载链接

答案2

Manwe 已经为您的问题提供了很好的答案(让您回到能够再次访问 SVN 存储库的地步)。

我会更进一步说如果你这样做,你绝对应该认真考虑切换到 git。你将拥有一个可用的 SVN 存储库,因此你可以使用 git 附带的工具来吸收 SVN 存储库并创建一个新的 git 存储库,如果你的开发git-svnserver人员还不能进行迁移,你还可以使用 git 附带的工具来模拟 SVN。


迁移到 git 有以下优势:

  • 每个开发人员都有一份完整的存储库副本。他们可以在本地提交,并在服务器宕机时延迟推送。
    (因此,如果您重新安装 Windows 并像这次发生的情况一样失去服务器几天,开发仍可继续)

  • 每个开发人员都有存储库的完整副本。这些实际上是分布式备份。
    (不要依赖它,但在危机中,任何签出都可以被声明为“原始”存储库)。

  • git 是只是更好的比 SVN
    (好吧,最后一个观点是我的看法,但几乎每个和我合作过的开发人员都同意这一点 —— Linus 使用 git 进行了正确的版本控制。一旦你习惯了这些命令,使用它真的是一种乐趣。)

关于从 SVN 迁移到 git 的更多阅读:git ready: 从 SVN 转换。Google
还会抛出大量与Converting from SVN to git或 类似的查询相关的结果。
我还考虑“成功的 git 分支模型”对于从 CVS(以及在较小程度上从 SVN)转移的人来说是必读内容——git 中的分支是一件好事(而且无痛)。

相关内容