【问题标题】:How can I create an entirely new repository from an existing repository's branch?如何从现有存储库的分支创建一个全新的存储库?
【发布时间】:2014-08-25 19:00:42
【问题描述】:

我试图四处搜索,但认为我只找到了复制整个存储库和/或主干的结果。就我而言,我不想从现有存储库中复制 trunk - 我只关心一个分支。

但是,可能存在问题,因为此分支在某个时间点是 trunksvn cp。这会是一个问题还是我可以通过某种方式避免它?

所以基本上我需要:

existing repository
     **branches/beta** ( this was copied from trunk a long time ago)
     trunk <-- 

new repository
     **trunk** ( from branches/beta )

【问题讨论】:

  • 任何svndumpfilter 搜索都会在首页上提供大量示例,甚至在这里,在 SO

标签: svn import migrate


【解决方案1】:

您可以使用svnrdump dumpsvnadmin dump | svndumpfilter 从存储库的任何部分获取可移植转储(工作流程很常见,只是细节不同)。

您可以使用svnadmin load --parent-dirsvnrdump load 将转储加载到具有任何新“挂载点”的新存储库中。

但是,AFAICR,在转储文件中使用纯 SVN 工具,无需手动操作,您无法删除|更改转储文件中传输的相对路径(在您的情况下,这意味着恢复转储,加载到 /trunk,将创建 @ 987654326@ 在里面),你必须在新存储库中 svn mv 之后通过额外的提交来修复它

注意

使用 HG-in-the-middle,您可以将文件夹正确地重新定位到 repo 的根目录中,而无需在目标中进行额外的提交,但是 - 以额外(本地)VCS 为代价

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多