gpt4 book ai didi

svn - Subversion是否可以有效地存储OpenXML Office文档?

转载 作者:行者123 更新时间:2023-12-03 11:50:43 24 4
gpt4 key购买 nike

我一直在将Subversion作为我公司的工程文档存储库进行管理。它运行得很好,但是我对Subversion如何(应该)处理MS Office 2007格式有疑问。

我正在工作副本中查看一个Excel 2007电子表格(扩展名.xlsx),其中Subversion已应用 svn:mime-type 属性application / octet-stream。这意味着将Subversion视为二进制文件,对吧?

我希望Subversion可以有效地存储新的MS Office文档格式。我的理解是,每次提交该文件时,都会生成二进制文件的完整副本,而如果文件是文本,则对该文件进行小的更改将导致少量的其他数据被添加到存储库中(在至少是典型情况)。

我不太了解XML的细节,但是我认为XML文件是文本,因此Subversion可以有效地存储它。

是否可以配置Subversion,以便有效地存储MS Office OpenXML文档?

后续行动(2009-11-09):我发现可以使用Office 2003 XML文档格式将Office文档存储为纯文本格式(Excel:XML Spreadsheet 2003; Word:Word XML Document。警告)关于格式化丢失的信息,但是我还没有遇到任何明显的格式化丢失的信息。

最佳答案

OpenXML article on wikipedia:

An Office Open XML file is a ZIP-compatible OPC package containing XML documents and other resources.



换句话说,OpenXML文件实际上是其中包含XML文件的zip文件。压缩或加密会“扰乱”数据,破坏Subversion在版本之间生成增量的能力。这与 svn:mimetype不相关。在生成增量时,Subversion认为所有文件都是二进制文件。

在荷兰语中,我们有一句“测量就是知道”。下图显示了一个实验的结果,其中我在SVN 1.6存储库(修订版1)中导入了500K OpenXML文档。然后,我从另一个文档中添加了一个段落,保存并提交。重复5次(修订2至6)。

如您所见,提交仅添加一个段落的新docx修订将花费大约150K磁盘空间。这比仅在没有版本控制系统的帮助下存储每个修订的副本要有效得多。

我还通过解压缩docx的每个修订版,使用单独的测试存储库重复了该实验。如您所见,如果不压缩文档修订版本的存储效率会更高。有趣的是, 转换本身的数据压缩与zip 一样有效。在Subversion中存储未压缩docx的第一个修订版所占用的空间与原始docx大约相同。

YMMV。

关于svn - Subversion是否可以有效地存储OpenXML Office文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com