【问题标题】:svndumpfilter fails with "Invalid copy source path..." errorsvndumpfilter 失败,出现“无效的复制源路径...”错误
【发布时间】:2012-02-13 13:48:03
【问题描述】:

我想将我的 SVN 存储库的一部分移到异地到 AWS 实例上,并且正在关注此页面 (Repository Maintenance)

我已经获取了整个 repo 的dump(Windows 命令):

  • svnadmin dump c:\repo > all_repo

接下来是过滤它,只包含我感兴趣的项目(称为“M1”)。

  • type all_repo | svndumpfilter include M1 --drop-empty-revs > m1

我知道这是正确的,因为我已经在其他一些项目中这样做了。


在这个项目上,它因本文标题中指示的错误而中断。确切的措辞是:

svndumpfilter: 无效的复制源路径'/Personal/Richard/M1_Config'

进程试图写入一个不存在的管道。

错误所指的文件夹是我在个人文件夹下编写并提交的配置实用程序,根本不在root/m1...文件夹下。我不想将它包含在过滤后的文件中,但不知道如何向 svn 命令表明这一点。

  1. 如何正确过滤整个 M1 文件夹及其子文件夹,同时完全排除 Personal/Richard/M1_Config 文件夹?
  2. 如何确定导出的文件是否包含正确的信息以在远程 SVN 上正确重新创建 M1 文件夹?

【问题讨论】:

    标签: svn svnadmin svndumpfilter


    【解决方案1】:

    我已经尝试了至少 4 种不同的应用程序来做到这一点,唯一真正有效的是使用svndumpfilterIN

    svnadmin dump c:\repo > all_repo
    svndumpfilter.py all_repo --repo=c:\repo --output-dump=m1 include M1
    

    这是我的full answer on linux

    这是我尝试过但没有奏效

    【讨论】:

    • 说真的,感谢您的帖子。花了很多时间之后,这是唯一完美无缺的东西。
    • 对我也很好。
    • 嗨,我在指定模式时收到“无效的复制源...”错误 - 在我们的例子中是 --pattern "*.config"。但是 svndumpfilterIN 不支持 --pattern。如果有人能提出一个富有成效的方法,我将不胜感激。
    • 非常感谢:它完美运行,没有 svndumpfilter 的缺陷。转储真的很轻,因为不必要的路径真的被忽略了。
    【解决方案2】:

    在某些时候/Personal/Richard/M1_Config 已复制到M1 路径。错误消息是说它无法执行复制,因为源已被过滤掉。检查 svndumpfilter 抱怨的版本。

    即使您不希望在最终导入中使用 /Personal/Richard/M1_Config 路径,也必须包含它。您还需要包含 /Personal/Richard/Personal 路径,因为每个路径都位于其父路径中。您的命令必须是:

    type all_repo | svndumpfilter include M1 "/Personal" --drop-empty-revs > m1 
    

    如果您有其他不需要的路径,比如 /Personal/James,并且您希望排除它们,那么您可以运行第二个 svndumpfilter 来去除它们:

    type m1 | svndumpfilter exclude "/Personal/James" --drop-empty-revs > m1_2
    

    【讨论】:

    • 有没有一种简单的方法来确定必须包含女巫的部分。我目前正在尝试和错误。
    • 您可以搜索变更集并查找影响感兴趣路径的“从路径复制”。您可以通过转储文件进行文本搜索,或者使用 svnlook。
    【解决方案3】:

    我遇到了同样的问题。我们在存储库中有许多远程移动和复制的路径,唯一真正有帮助的工具是svndumpsanitizer 一个可以在 cygwin 或 Linux 上轻松编译的单文件 C 程序,它在 170 GB 增量转储文件上的工作就像一个魅力约 160,000 次提交。

    【讨论】:

    • 为我工作!
    猜你喜欢
    • 2022-07-14
    • 2017-06-04
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    相关资源
    最近更新 更多