我参与了一个项目,其中包括存储对大型分层文档(HTML格式文本)的编辑和更改。我们希望包括文本更改和结构更改的版本控制。
目前,我们在关系数据库中维护文档部分的树形结构,但随着我们开始研究如何管理结构更改的版本控制,很明显我们面临着必须编写许多版本控制系统提供的功能的危险。
我们不想重复造轮子。是否有可能我们可以使用现有的版本控制系统作为数据存储库,至少用于文档本身?我们可以通过将新版本写入文件系统并将该目录保留在版本控制下(并以编程方式执行提交等操作)来实现这一点,但如果我们能够直接通过代码与存储库进行交互,那将是更好的选择。
我们最熟悉的版本控制系统是Subversion,但我对Subversion表示目录结构更改的方式并不满意 - 如果我们能看到特定修订版包括将某个部分从第2章移动到第6章,而不仅仅是看到树的新版本,那将是很好的。这听起来更像Mercurial处理结构更改的方式。
有什么建议吗?版本控制系统是否有公共API等?如果有关Java(使用Spring)的项目,这是否重要?
目前,我们在关系数据库中维护文档部分的树形结构,但随着我们开始研究如何管理结构更改的版本控制,很明显我们面临着必须编写许多版本控制系统提供的功能的危险。
我们不想重复造轮子。是否有可能我们可以使用现有的版本控制系统作为数据存储库,至少用于文档本身?我们可以通过将新版本写入文件系统并将该目录保留在版本控制下(并以编程方式执行提交等操作)来实现这一点,但如果我们能够直接通过代码与存储库进行交互,那将是更好的选择。
我们最熟悉的版本控制系统是Subversion,但我对Subversion表示目录结构更改的方式并不满意 - 如果我们能看到特定修订版包括将某个部分从第2章移动到第6章,而不仅仅是看到树的新版本,那将是很好的。这听起来更像Mercurial处理结构更改的方式。
有什么建议吗?版本控制系统是否有公共API等?如果有关Java(使用Spring)的项目,这是否重要?