代码之家  ›  专栏  ›  技术社区  ›  fglez

如何导出具有依赖关系的SVN存储库的一部分?

  •  2
  • fglez  · 技术社区  · 16 年前

    我正在尝试使用 svnadmin dump .

    提供的svendumpfilter工具不管理导出中未包含的目录的复制/移动/重命名依赖项。

    是否有工具可以管理这些依赖关系?

    3 回复  |  直到 8 年前
        1
  •  3
  •   fglez    15 年前

    我找到了西蒙塔瑟姆的一个python脚本 svndumpfilter2 它试图处理简单的依赖关系(不过我发现了一些限制)。

    您也可以检查 article 关于他向颠覆的迁移和剧本的动机。

        2
  •  0
  •   Davide Gualano    16 年前

    对于依赖项,您是指由属性svn:external指定的那些?

    如果是,我认为您还应该将属性中引用的路径传递给svendumpfilter。 例如,如果您的项目位于 http://host/project 并且svn:external属性设置为 http://host/dependencies 你可以做一些像

    svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
    
        3
  •  0
  •   Peter Mortensen icecrime    8 年前

    你不能摆脱这个问题。如果复制了一个目录/文件,则必须将(源和目标)都包含到svendumpfilter中。

    但是,您可以做一些技巧:

    如果您转储的存储库不是来自版本0,而是来自版本100,那么您将得到一个版本1-100消失的新存储库。但是,目标存储库将版本1中的所有文件/文件夹作为版本100中的源存储库。通过这种方式,您可以在不丢失头部修订的情况下除去版本化数据。

    您可以尝试转储/加载源存储库,直到第一次将其复制到“平面”存储库中,然后将剩余的转储添加到其中。通过这种方式,您可以从修订中跳过麻烦的副本,因为您的文件已经在fitting(destination)目录中。