可以过滤由 svndamin dump
生成的 SVN 转储,因此它不会包含编码的二进制数据,只包含文本增量和数据?
我想转储现有的大型 SVN 存储库,但只是代码。我对存储的二进制文件不感兴趣。但是,二进制文件会使转储文件过大。如何生成转储并排除二进制内容?
已经尝试并失败了:
- 处理
svn 日志
差异是不切实际的。它是一个庞大而陈旧的存储库,仅在短时间内获取差异需要花费大量时间并且经常卡住。 - 二进制文件分散在各处,没有存储在一个已知的路径下,所以我不能使用
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/