仅文本的svnadmin转储,没有二进制文件



可以过滤由svndamin dump生成的SVN转储,因此它不会包含编码的二进制数据,只有文本deltas和数据?

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

已经尝试并失败了,已经:

  1. 处理svn log差异是不切实际的。这是一个大的旧存储库,仅在短时间内获得差异需要很多时间,并且经常被卡住。
  2. 二进制文件散布在各个已知路径下,因此我不能使用svndumpfilter排除它们 - 除非有某种方法可以将此过滤器与正则表达式使用,例如*.jar

svndumpfilter是任何颠覆安装的一部分

svndumpfilter exclude - 从转储流过滤带有给定前缀的节点。

从颠覆1.7开始,svndumpfilter可以选择将Path_prefix不仅视为显式子字符串,而且可以将其视为文件模式。

$ svndumpfilter exclude --pattern "*.OLD" < dumpfile > filtered-dumpfile
Excluding prefix patterns:
   '/*.OLD'

我不知道这样做的库存工具。但是,如果您从这个perl模块开始:

其中的示例脚本之一(svndump_delpathfilter)可能非常接近您想要的内容。我在这个模块上的经验是,您可能必须修补一下它才能完成您想要的事情。

现在,我认为没有任何方法可以可靠地从文本文件中说出二进制文件,因为颠覆(最低级别)并不真正在乎。快速扫描我的存储库表明SVN:MIME-Type属性并不总是设置,我看不到其他指示性字段。因此,您必须通过名称检查或(以某种方式)尝试查看文件的内容(但我从未完成过后者)。

相关内容

  • 没有找到相关文章

最新更新