【问题标题】:How do I recover a removed branch in subversion?如何在颠覆中恢复已删除的分支?
【发布时间】:2009-10-30 19:51:47
【问题描述】:

一个分支从我们的存储库中删除了,现在我们认为它有我们想要保留的代码......

命令行、Tortoise、SmartSVN,都不错……

【问题讨论】:

标签: svn


【解决方案1】:

复制删除之前的修订,这会将分支恢复为 [REVISION] 中存在的分支到 HEAD 修订。:

svn copy -r [REVISION] http://svn/path/to/branch http://svn/path/to/branch

编辑:感谢Michael Hackner添加了澄清。

【讨论】:

  • 澄清一下:这会将 [REVISION] 中存在的分支恢复为 HEAD 修订版。
  • 感谢您的回复。相反,我通过结帐执行此操作以获取本地副本。
  • 它有哪些要求? svn: E160013: File not found: revision XXXXX, path '/yyyyyy/branches/Branch_v1_0_0' 我认为来源一定不是svn:// 链接,而是本地路径...
【解决方案2】:

这与 MarkPowell 的回答相同,但特定于 TortoiseSVN。

查看分支父文件夹的日志,找到你想要的版本,右键单击并选择“从版本创建分支/标签”,就在这个截图的底部:

【讨论】:

    【解决方案3】:

    您不能使用 repo 浏览器并返回几个修订版吗?

    我错过了什么吗?

    【讨论】:

    • 不是普通的 Tortoise 用户;到目前为止,它拥有最简单易用的界面来浏览以前的版本。谢谢。
    【解决方案4】:

    服务器是 Unix 机器吗?如果是这样,您可以尝试将其插入另一台机器,然后不安装它,将设备的内容添加到文件中...然后您可以使用字符串和 grep 的组合来定位值的位...虽然这很乏味,也没什么好玩的……

    【讨论】:

    • Subversion 不需要这样做。 Subversion 保留内容,除非您将存储库的内容转储到另一个文件中,从中删除内容,然后将其转储回。(是的,这有时确实会构成问题。)数据在某处,唯一的问题是让 Subversion 到使用它。
    • 由于 OP 特别提到了 TortoiseSVN,而且那是 Windows 资源管理器的外壳扩展,很有可能它不是 Unix 机器。此外,正如大卫所提到的,您的答案中的其他内容也不适用。
    • diroce 询问服务器是否为 Unix。 TortoiseSVN 是一个客户端。客户端在 Windows 上运行这一事实并不能告诉我们有关服务器操作系统的任何信息。
    猜你喜欢
    • 2011-07-29
    • 2010-09-08
    • 1970-01-01
    • 2016-02-12
    • 2013-05-23
    • 2010-12-06
    • 1970-01-01
    • 2014-07-30
    相关资源
    最近更新 更多