使用subversion作为应用程序中的版本控制引擎

时间:2009-12-16 15:50:56

标签: svn

传统上,svn可以直接从命令行使用,也可以通过像Tortoise这样的GUI客户端使用。

是否存在使用svn实现版本控制的完全成熟应用程序的示例?

我可以想象可能可以将svn存储库用作基于文件的版本化持久层,而不是使用关系型DBMS。是否有任何基本原因这是一个坏主意?

2 个答案:

答案 0 :(得分:3)

Google Code使用Subversion来管理项目维基页面的版本。您的wiki显示为Subversion存储库中的文件夹。有一个名为Longhouse的Google Code开源克隆版。从项目描述:

  

Longhouse采用独特的方式存储项目数据并使数据可访问,将XML格式的信息存储在组织的Subversion存储库中。这意味着您可以编辑Longhouse Web UI之外的任何项目工件,将修改后的XML文件提交到Subversion存储库,并让Longhouse自动考虑您的更改。

就个人而言,我会对尝试对大型XML文件进行版本保持谨慎。我用Freemind思维导图尝试了它,而我必须合并的几次是噩梦。我的预感是,YAML会更合适,虽然改变压痕水平可能会引起头痛。当你需要将数据文件置于版本控制之下时,也许只是避免使用多级别的大文件是最好的选择。

更新:正如Josh Kelley评论的那样,还有其他几个wiki引擎可以使用修订控制系统(RCS)进行数据存储。根据{{​​3}},Twiki,PhpWiki,JSPWiki,Foswiki,MoniWiki和MidgardWiki是支持此功能的前25名。

答案 1 :(得分:2)

我不知道任何具体的例子(还没有找到它......),但是有一个功能齐全的.NET绑定用于SVN API,称为SharpSvn,如果这有帮助的话。 (AFAIK它是由像AnkhSvn这样的GUI工具内部使用的。)

我认为找到一些相关的示例代码也有很好的变化。

HTH。