繁体   English   中英

如何使SVN ADD忽略二进制文件

[英]How to make SVN ADD ignore binaries

二进制文件(在Linux下)没有扩展名,所以我不能使用模式排除它们。 因此,当我使用SVN add添加目录时,我会得到类似的东西

$ svn add recursion_vector/
A         recursion_vector
A         recursion_vector/rec_vec.cxx
A         recursion_vector/rec_vec.h
A  (bin)  recursion_vector/rec_vec

这里rec_vec是我想要排除的可执行文件。 SVN显然将其视为二进制。 现在我可以告诉Subversion忽略所有二进制文件吗?

这有点冗长,因为它使用find:

find [TARGET-DIRECTORY] \\( -executable -type f \\) -prune -o -print | xargs svn add --depth empty

将目标目录传递给find,find将递归目录,打印出除可执行文件( \\( -executable -type f \\) -prune之外的所有内容。 没有-type f find也会修剪目录,因为它们通常有执行位或“搜索位”设置。

--depth empty的选项add告诉使用SVN自身递归一个文件对象,因为找到的是处理递归。

如果您喜欢结果,可以将它放在一个shell函数中,该函数允许您传入[TARGET-DIRECTORY]

谢谢,

扎卡里

您可以设置模式匹配以排除没有的文件名. 在他们中?

这不完全是你想要的(你可能已经知道这个答案)......但无论如何:

您可以设置排除模式以忽略基于文件名的某些文件。 更多信息在伟大的SVN书中:

http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3

除此之外,有可能使用提交钩子做一些事情,但我没有经验那些......

祝好运 !

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM