2010-08-19 179 views
1

我想让svn忽略目录中的大数据文件。由于目录中的所有文件共享相同的扩展名,因此在svn:ignore中指定一个模式不会。有没有办法说“忽略大于N MiB的文件”?SVN忽略大文件

+2

为什么你只想排除一个类型的大文件而不是其他类型的文件?这是否违背了您的项目的完整,一致和修订副本的想法?通常我只排除从SVN树生成或外部的文件。 – 2010-08-19 12:05:08

+0

是的,但我的存储库大小有限,所以我需要谨慎地提交。此外,这些都是数据文件,它们从来没有真正改变过。 – mbatchkarov 2010-08-19 22:07:47

回答

4

将要忽略(可能使用一个操作系统工具,如发现在Linux上)的文件的列表,然后做这样的事情:

svn propset svn:ignore "*" --targets filelist.txt 
+0

不是真正的OP所要求的:''忽略大于N MiB的文件?'',也许特定的文件可能会改变,并且他们在忽略大文件的更一般的解决方案之后? =) – Rob 2010-08-19 12:01:26

+2

svn propset命令没有内置的基于文件大小进行过滤的功能。没有关于OP可用的其他工具的信息,我相信这是除了手动发布一系列svn propset命令之外最常用的解决方案。 filelist.txt文件可以根据需要进行编辑/重新生成。 – ChrisH 2010-08-19 13:43:19

1

基本上我会写遍历一个命令行脚本如果文件大小大于您定义的边界,则所需文件类型的所有文件都会执行@ChrisH提到的svn propset命令。

如果您的Windows this stackoverflow question可能会有所帮助。

0

将要忽略(可能使用一个操作系统工具,如发现在Linux上)的文件的列表,然后做这样的事情:

svn propset svn:ignore "*" --targets filelist.txt 

如果你把@ ChrisH的答案并将其与预先提交的钩子结合起来,以解决问题。

使用惊人的指南here,编写一个预先提交的钩子,使用@Johannes Wachter引用的命令过滤每个文件。