【问题标题】:SVN ignore large filesSVN 忽略大文件
【发布时间】:2011-04-01 01:22:32
【问题描述】:

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

【问题讨论】:

  • 为什么只排除一种类型的大文件而不排除其他类型的大文件?这不与拥有完整、一致和修订的项目副本的想法背道而驰吗?通常我只排除 SVN 树生成的或外部的文件。
  • 是的,但我的存储库大小有限,所以我需要谨慎提交。此外,这些是数据文件,它们永远不会真正改变。

标签: svn svnignore


【解决方案1】:

列出您要忽略的文件(可能使用操作系统工具,例如 Linux 上的 find),然后执行以下操作:

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

如果您接受@ChrisH 的回答并将其与预提交挂钩结合使用,则应该可以解决问题。

使用出色的指南here,编写一个预提交挂钩,使用@Johannes Wachter 引用的命令过滤每个文件。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      列出您要忽略的文件(可能使用操作系统工具,例如 Linux 上的 find),然后执行以下操作:

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

      【讨论】:

      • 不是 OP 真正要求的:"ignore files larger than N MiB"?,也许特定文件可以更改,并且他们正在寻求更通用的忽略大文件的解决方案? =)
      • svn propset 命令没有内置的基于文件大小的过滤功能。如果没有关于 OP 可用的其他工具的信息,我相信这是除了手动发出一系列 svn propset 命令之外最通用的解决方案。 filelist.txt 文件可以根据需要进行编辑/重新生成。
      猜你喜欢
      • 2012-06-04
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多