2013-06-04 45 views
3

由于OpenXML基本上是zip文件中的XML文件,我想知道Git是否可以处理OpenXML文档以进行版本控制和合并操作以及差异比较。 谢谢Git和OpenXML文档

回答

3

你可以采用以下任何压缩文件格式的方法:在将git存储到回购站之前,让git解压缩该文件,然后在检出之前重新对其进行重新解压缩。然后文本差异的作品,因为无论是在回购大多是纯文本。

的人肯定是使用这种方法:看Uncompress OpenOffice files for better storage in version control

1

在Git中为非文本文件启用diff是通过Git Attributes实现的。

Chapter 7.2 Customizing Git - Git AttributesPro Git book中描述了如何配置.gitattributes。它给出了OpenDocument文件的具体示例(odt-to-txt)。由于OpenDocument也是一种压缩的XML格式,因此该示例应该相当简单易于修改OpenXML。

+0

您是否确信,使*合并*?我对它的阅读表明,这是一个在你请求git进行差异化时应用的过滤器。也就是说,修订历史仍然由* binary *文件组成,而且基于文本的合并仍然不可行;过滤只是允许你生成一个人可读的差异,但不能应用它。 (也就是说,它只是一个有点马虎的'差异') – kampu

+0

@kampu不,现在你提到它,我不确定它是否能够合并,所以我从我的答案中删除了它。 –