svnadmin仅转储文本,不包含二进制文件

svnadmin仅转储文本,不包含二进制文件,svn,svnadmin,svndump,Svn,Svnadmin,Svndump,可以过滤由svndamin dump生成的SVN转储,因此它不包括编码的二进制数据,只包括文本增量和数据 我想转储现有的大型SVN存储库,但只转储代码。我对存储的二进制文件不感兴趣。但是,二进制文件会使转储文件变得不必要的大。如何生成转储并排除二进制内容 已尝试但失败,已: 处理svn日志diff是不实际的。这是一个庞大而陈旧的存储库,仅在短时间内获取差异需要花费大量时间,并且经常会陷入困境 二进制文件分散在各处,没有存储在一个已知路径下,因此我不能使用svndumpfilter来排除它们-除非

可以过滤由
svndamin dump
生成的SVN转储,因此它不包括编码的二进制数据,只包括文本增量和数据

我想转储现有的大型SVN存储库,但只转储代码。我对存储的二进制文件不感兴趣。但是,二进制文件会使转储文件变得不必要的大。如何生成转储并排除二进制内容

已尝试但失败,已:

  • 处理
    svn日志
    diff是不实际的。这是一个庞大而陈旧的存储库,仅在短时间内获取差异需要花费大量时间,并且经常会陷入困境
  • 二进制文件分散在各处,没有存储在一个已知路径下,因此我不能使用
    svndumpfilter
    来排除它们-除非有某种方法可以将此筛选器与正则表达式一起使用,例如
    *.jar

  • 我不知道有什么库存工具可以做到这一点。但如果您从这个perl模块开始,应该不难做到:

    其中的一个示例脚本(svndump_delpathfilter)可能与您想要的非常接近。根据我对本模块的经验,您可能需要对其进行一些修改,以使其实现您想要的功能

    现在,我认为没有任何方法可以可靠地将二进制文件与文本文件区分开来,因为Subversion(在最低级别)并不真正关心。对我的存储库的快速扫描显示svn:mime-type属性并不总是设置的,并且我没有看到其他指示性字段。因此,您必须通过名称进行检查,或者(以某种方式)尝试查看文件的内容(但我从未执行过后者)。

    是任何Subversion安装的一部分

    svndumpfilter exclude
    -从转储流中筛选出具有给定前缀的节点

    从Subversion 1.7开始,svndumpfilter可以选择将PATH_前缀不仅作为显式子字符串处理,还作为文件模式处理

    $ svndumpfilter exclude --pattern "*.OLD" < dumpfile > filtered-dumpfile
    Excluding prefix patterns:
       '/*.OLD'
    
    $svndumpfilter exclude--模式“*.OLD”已过滤的转储文件
    不包括前缀模式:
    “/*.旧的”
    
    您是否知道svndumpfilter是否接受“或模式”,例如“
    *.jar |*.pdf
    ”?@LittleBobbyTables-不,仅接受单个模式。但您可以在单个命令中使用多个
    exclude