6

二进制文件(在 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 忽略所有二进制文件吗?

4

3 回答 3

2

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

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

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

--depth emptyon 选项add告诉 svn 不要自己递归文件对象,因为 find 正在处理递归。

如果你喜欢这个结果,你可以把它放在一个 shell 函数中,它允许你为[TARGET-DIRECTORY].

谢谢,

扎卡里

于 2010-06-11T21:04:13.297 回答
1

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

于 2010-06-02T00:07:00.157 回答
0

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

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

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

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

祝你好运 !

于 2010-02-03T10:41:07.357 回答