【问题标题】:How to turn off git 1.7.8 overhead for binary files (.doc, .pdf, etc)如何关闭二进制文件(.doc、.pdf 等)的 git 1.7.8 开销
【发布时间】:2012-03-11 16:07:37
【问题描述】:

我使用 git 1.7.4 处理大型 svn 存储库 - 没关系。

我更新到 git 1.7.8,现在,当我执行“git svn dcommit”时,git 做了一些多余的工作。 在任务管理器中,我看到它进行了大约 1M 的写入(我使用的是 SSD,所以我很担心)。 它显示了 .pdf 和 .doc 文档的警告,而 1.7.4 没有显示这些警告,例如:

"c:/Users/..../AppData/Local/Temp/SOMEHASH_documentName.doc 不是 Word 文档", “错误:PDF 文件已损坏 - 正在尝试重建外部参照表”

而且有很多这样的警告,可能大约 200 个。当 git 显示这样的警告时,我看到任务管理器中的写入计数增加了。

看起来 git 试图对二进制 .pdf/.doc 文件进行一些“智能”处理。但我不需要这个。 我应该更改哪个配置选项来关闭这项多余的工作?

【问题讨论】:

  • 你不是说这是msysGit吗?最近的 msysGit 版本中包含了一个 word 文件查看器。
  • 我使用这个安装程序:code.google.com/p/msysgit/downloads/detail?name=Git-1.7.8-preview20111229-unicode.exe

标签: windows git svn binary overhead


【解决方案1】:

为 Windows 1.7.8 版本的 Git 添加了 doc 和 pdf 文件的默认查看器。这是通过修改系统 gitattributes 文件以将 astextplain textconv 过滤器与具有 docx 扩展名的文件相关联来完成的。您可以编辑系统版本(在 Program Files\Git\etc\gitattributes 中)或在您的个人 .gitattributes 或存储库中重置它。

要覆盖仅此存储库的系统设置,您可以添加到 .gitattributes 文件:

*.doc !diff
*.DOC !diff

将这个文件的 diff 属性重置为未指定,恢复 1.7.8 之前的处理。

【讨论】:

  • 非常感谢!我从 Git\etc\gitattributes 文件中删除了所有行。
  • 看起来 gitattributes 默认应该是空的,而 astextplain 没有打磨。我想,遇到这种问题的不止我一个人。
  • 为什么在运行git svn dcommit时使用那些过滤器?
  • svick,这对我来说也很奇怪。我什至没有为此提交更改任何 .doc/.pdf 文件。
  • patthoyts,删除 !diff 过滤器修复了有关 .pdf/.doc 的警告。但不能修复大量写入。也许我应该为此创建单独的问题。
猜你喜欢
  • 1970-01-01
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多