通常,svn直接来自命令行或通过像Tortoise这样的GUI客户端使用.
是否存在使用svn实现版本控制的完全成熟应用程序的示例?
而不是使用关系数据库管理系统,我可以想像,有可能是场合的svn存储库可以作为一个基于文件的版本持久化层.有什么根本原因,为什么这是一个坏主意?
Google Code使用 Subversion 来管理项目 wiki 页面的版本。您的 wiki 在 Subversion 存储库中显示为文件夹。有一个 Google Code 的开源克隆版本,名为Longhouse。从项目描述来看:
Longhouse 采用独特的方法来存储项目数据并使数据可访问,以 XML 格式将信息存储在组织的 Subversion 存储库中。这意味着您可以在 Longhouse Web UI 之外编辑任何项目工件,将修改后的 XML 文件提交到您的 Subversion 存储库,并让 Longhouse 自动考虑您的更改。
就我个人而言,我对尝试对大型 XML 文件进行版本控制持谨慎态度。我用Freemind思维导图进行了尝试,有几次我不得不合并,这简直就是噩梦。我的直觉是 YAML 会更适合,尽管改变缩进级别可能会引起麻烦。当您需要将数据文件置于版本控制之下时,也许避免具有多个级别的大文件是最好的选择。
更新:正如 Josh Kelley 评论的那样,还有其他几个 wiki 引擎可以使用版本控制系统 (RCS) 进行数据存储。根据WikiMatrix 的数据,Twiki、PhpWiki、JSPWiki、Foswiki、MoniWiki 和 MidgardWiki 是支持此功能的前 25 个维基百科。