可以使用SVN模拟历史管理吗?

时间:2013-10-02 09:13:46

标签: java svn historical-db

简介

您好, 基本上我需要做的是模拟一组文件的历史管理(在DB历史管理方面),包含可编译和可执行的代码片段。

说明:

在DB历史管理中,对象由其状态组成,这些状态由实际修改的日期确定。然后,可以在给定日期获取对象以及该给定日期的当前信息。这是我试图为我要执行的文件实现的行为。由于持久化项目文件的最自然方式是通过SVN产品,因此我认为这种功能可能已经在Subversion或其他版本控制系统中实现。我需要的是 - 在给定的日期,可能是对svn服务器的请求,以接收我跟踪的文档的“正确”版本(根据日期)。

问题:

目前我正在使用Subversion和TortoiseSVN,但我不熟悉高级功能并在这里寻求帮助。我可以从我的java代码中检索存储在SVN中的文件版本吗?

任何帮助将不胜感激, 的问候,

版本:

由于看起来我的抽象解释在这里不够容易理解,我将举一个例子。让我们假设我的SVN中有一个文件test.tgf。让这个文件由可执行的二进制文件和我的机器知道如何执行.tgf文件。在SVN中我有2个版本的文件 - 版本1包含将打印到控制台的代码“这是这段代码的第一个版本”和版本2包含将打印到控制台的代码“这是这段代码的第二个版本“。现在假设我们有一个只包含2个小部件的GUI - 日期输入和“计算”按钮。当用户输入日期并单击计算java代码处理时,该事件必须检查日期是否小于等于01.01.2010,如果是,则执行test.tgf的第一个版本。否则,将要执行的代码是test.tgf的第二个版本。我希望它更清楚。

米伦

结论:

是的,可以使用SVN模拟历史管理(在DB历史管理方面)。谢谢Poul

1 个答案:

答案 0 :(得分:0)

  

我需要的是 - 在给定日期之前,可能是对svn的请求   服务器,接收“正确”版本(根据日期)   我正在跟踪的文件。

您可以查看修订版本及其生成日期。您还可以在TortoiseSVN中按日期过滤修订版。那有什么问题?

从java开始,您可以将SVNKitSVNRepository类一起使用,该类具有以下方法:getDatedRevision(Date date)getFile()/getDir()。使用的简单示例是here