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

标签 svn svnadmin svndump

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

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

已经尝试并失败了:

  1. 处理svn 日志 差异是不切实际的。它是一个庞大而陈旧的存储库,仅在短时间内获取差异需要花费大量时间并且经常卡住。
  2. 二进制文件分散在各处,没有存储在一个已知的路径下,所以我不能使用 svndumpfilter 来排除它们 - 除非有一些方法可以将这个过滤器与正则表达式一起使用,例如*.jar.

最佳答案

svndumpfilter是任何 Subversion 安装的一部分

svndumpfilter exclude — Filter out nodes with given prefixes from the dump stream.

从 Subversion 1.7 开始,svndumpfilter 可以选择将 PATH_PREFIX 不仅作为显式子字符串,而且作为文件模式。

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

关于svnadmin 只转储文本,没有二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969871/

相关文章:

svn - 如何将现有的 GIT 项目导入 SVN,并在 master 分支上保留 GIT 历史?

svn - Subversion 存储库中的 '/db/txn-current' 为空或不存在

svn - 从修订历史中删除特定文件

svn - 导入SVN,要么get file exists 要么 file not found 错误

svndumpfilter - 不支持的转储文件版本

Eclipse中的SVN更新问题

eclipse - 在 Eclipse Helios 中使用 subversive 查看 SVN svn+ssh 存储库

svn - 将具有历史记录的SVN存储库数据作为子文件夹移动到另一个存储库中

svn - 移动没有历史的 Subversion 存储库

SVN - 管理修订的部分合并