在SO上曾有关于如何对办公文档进行版本控制的讨论(这里和这里),但我认为我的问题还有些不同。
我的编程项目始于一个只有一个名为“设计文档”的子文件夹的项目文件夹,其中包含该项目的功能规格草案,并随后扩展以包含API规格或其他所需内容。
当然,我也会将这些文件提交到SVN中。 我想要的是与整个版本控制、差异比较和合并流程相协调的良好文件格式和策略。例如,我认为将文字处理程序文件存储为XML可能是最佳选择,但差异对于人类读者而言是否难以阅读?以下是我想要做的事情:
- 比较和合并文本文档(必备OOo,最好有MS Word)
- 比较(可能还要合并,尽管这可能在概念上比较困难)模式图,例如UML图。我想这些可以是独立的XML / SVG文件,并链接到文本文档中,但我不太了解这些文档的工作方式是否可以实现。
- 在文本文档中自动显示更新的修订版本号(可能使用svn:keywords)
有人已经做过这种事吗?可能有许多关于OOo文件等的文档和教程可以查阅,但尽管我也赞赏这些指针,我主要是寻找在实践中可行或不可行的第一手资料。
编辑: 为确保没有“非技术用户”参与,这里只涉及程序员,文档仅用于编程项目。可能会有要发布的PDF文件,但那只是另一个构建工件,无需进行版本控制。
尽管如此,我们真的不想使用TeX或类似工具。我知道它很棒,但对于简单的文本文档,我就是懒得去学习,调好所有额外的包,将TeX转换成PDF并添加到我们的构建过程中等等。这将像为两三个文档创建一个小型编程项目。如果有什么的话,我宁愿使用HTML,但文字处理器仍然看起来是一个不错的选择,除了我需要良好的版本控制之外。
还有另一种想法:是否有适用于OOo的SVN插件或反之亦然?甚至,为向OOo添加SVN支持需要做些什么呢?例如在“文件”菜单中添加“同步”选项和“修订号”文本字段。我的意思是,那不会真正成为我们业务的一部分,但这很酷,毕竟,我是老板。