技术开发 频道

Java企业级项目中应用Subversion的配置与管理

    检索版本间的差异 

    SVNManager.showDifferences方法用来检测两个版本之间的差异,是通过调用JavaSVN 的SVNDiffManager类来去的差异,也可以通过SVNClientManager来引用并执行这个类,SVNDiffManager的doDiff方法有一个默认的实现,可以通过参数指定输出流参数的形式取得固定格式的差异结果,我们也可以使用ISVNEditor来实现一个自己的差异比较方法。在这个例子里,我们使用默认的实现。

public String showDifferences(
                BaseTrackingObject obj,long revision1,
                long revision2) {
        ....
        //Create an instance of SVNClientManager
        //providing authentication
        SVNClientManager ourClientManager =
                        SVNClientManager.newInstance(
                        options, "name", "password");
        //Obtain the handle to DiffClient
        //from the client manager
        SVNDiffClient theDiff = ourClientManager
                        .getDiffClient();
        ....
        theDiff.doDiff(svnUrl, SVNRevision.
                create(revision1), svnUrl,
                SVNRevision.create(revision2),
                false, false, diffStream);
        ....
}

    结论

    在企业级应用里,不但要完成数据的存储和检索,还要实现对数据变化历史的跟踪。传统方法是使用关系数据库来完成这个工作,但是这不是一个“优雅”的方案。在我们的贷款数据处理的例子里,Subversion提供了跟踪数据变化的支持。JavaSVN的API用来完成数据存储、检索、获取版本间差异和日志等任务。

    我们的例子只是一个简单的性能演示,Subversion提供了丰富的功能支持,完全可以应用于企业级应用。祝你探索地更开心!

0
相关文章