代码之家  ›  专栏  ›  技术社区  ›  Robert Massaioli

我应该如何在OpenOffice中保存一个文件,以便它不是Subversion中的二进制文件?

  •  5
  • Robert Massaioli  · 技术社区  · 15 年前

    我正在和一个合作伙伴合作开发一个开放式Office文档,我们正在使用Subversion进行协作。但是,我们将文档保存为.odt文件,Subversion将其作为二进制文件类型读取。因此,让我担心的是,当我们去合并文件时,如果有冲突,我们将无法充分执行合并;我们将无法理解原始的.odt文件。

    所以我的问题是,“如何在开放式Office中保存文档,使其保留您希望和想要的所有格式,但是否另存为二进制文件,因此可以轻松合并?”

    还是我用了错误的方法?(这是很可能的)

    7 回复  |  直到 15 年前
        1
  •  13
  •   geowa4    15 年前

    尽管您可能很讨厌它,但LaTex为您提供了一种创建文档的方法,但是将它们作为文本保存在Subversion中,这很容易合并。

    除了使用乳胶或保存TXT文档外,使用Subversion锁定文件也是最好的选择。

        2
  •  7
  •   Greg Hewgill    15 年前

    对于复杂的二进制文件格式(其中.odt是其中之一),我发现最好在Subversion中使用锁,而不是尝试合并更改。设置Subversion属性 svn:needs-lock 在文件上,然后您需要在编辑文件之前请求对其进行锁定(请参见 Locking 在颠覆书中了解更多细节)。这在我的情况下很有效,但这取决于你的合作水平,是否对你有效。

        3
  •  6
  •   Craig McQueen Dr. Watson    15 年前

    只要供应商提供了一个好的差异和合并工具,文件就不必是文本格式来进行差异和合并。只要VCS可以配置为使用这些外部差异/合并工具。然而,很少有这样的差异和合并工具为专有文档格式提供。

    Tortoissesvn可以区分Word文档,这非常方便。虽然我从未尝试过,但它显然也可以合并。我认为它可能能够区分和合并OpenOffice文档,但我从未尝试过。

    Tortoissesvn可以“排序”不同的Excel文档,但使用起来不是很好。不合并。

    在我的公司,我们 需要锁定 在Word和Excel文档上避免合并问题。即使这样,我发现能够区分以前的修订版并查看更改内容也非常方便。

        4
  •  4
  •   lothar    15 年前

    这个 ODT 文件是afaik压缩的XML文件。但是,即使您将它们保存为未压缩的XML,我也严重怀疑除了最小的更改之外,您还可以进行任何合并。

        5
  •  1
  •   Andy White    15 年前

    .odt格式实际上是一种zip文件格式(在大多数情况下),它打包了您的文档和可能的其他二进制资源。它是一个zip文件,这意味着它本身就是二进制的。可能有一种方法可以使用OpenOffice将文档保存为纯文本XML,我不确定。

    如果您真的需要合并更改的功能,那么您最好使用纯文本格式。

        6
  •  1
  •   James Black    15 年前

    合并一个复杂的页面将是一个问题,因为Subversion无法做好工作。

    通过锁定,一次只能有一个人操作。

    如果不喜欢LaTex或.txt建议,可以每次将其保存为HTML页面。

    您可以为OpenOffice编写一些插件,也许可以实现协作工作。

        7
  •  0
  •   Martijn Heemels    15 年前

    复杂的机器维护文件在版本控制系统中总是很难合并。 即使 如果它们存储为文本。如果它是未压缩的openoffice.org XML呢?您所做的简单更改将修改整个XML文件中的许多行,从而导致可能的冲突。

    你最好使用更简单的格式,比如 Markdown ,因为简单的格式会导致更少的更改,从而导致更可靠的合并。许多作家使用降价,这很容易学习。

    有很多编辑器支持这种标记语言,但您可能需要稍微修改您的工作流。例如a ODT to txt 转换脚本,将ODF转换为带标记格式的TXT。也, pandoc 可以在许多格式之间转换,如markdown和odf。

    所以有两种选择:

    1. 更改为直接支持降价的编辑器(简单的文本编辑器可以,但您可以使用降价模式选择更高级的文本编辑器,如 VIM Markdown mode )
    2. 在markdown和openoffice.org格式之间插入转换步骤。(确保先测试生存能力)