• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Java 项目中应用Subversion配置与管理

发布: 2008-5-29 10:20 | 作者: 网络转载 | 来源: 网络转载 | 查看: 144次 | 进入软件测试论坛讨论

领测软件测试网

库的初始化工作要首先调用的是方法DAVRepositoryFactory.setup()。SVNRepository类包含了所有直接访问Subversion仓库的方法,将Subversion仓库树状结构的根路径提供给SVNRepositoryFactory类后,就完成了这个类的初始化,而ISVNAuthenticationManager类的作用是向SVNRepository提供访问Subversion仓库的授权信息。

public void initRepository() {
        //initialize the system to work over http
        DAVRepositoryFactory.setup();
        ............
        //point to the root folder of repository
        SVNURL svnUrl = SVNURL.parseURIEncoded
                        ("http://localhost/repos/");
        //initialize the SVNRepository
        theRepository = SVNRepositoryFactory.
                        create(svnUrl);
        //Creates the Auth manager with our user
        //and password credentials
        ISVNAuthenticationManager authManager =
                new BasicAuthenticationManager
                (name, password);
        //provides the credentials to the
        //SVNRepository
        theManager.setAuthenticationManager
                (authManager);
        ........
}


在Subversion中存储数据

    Subversion需要使用层次结构存储数据,这样我们先要设定一下领域实体的层次结构,这里使用一个命名为“DomainObjects”的文件夹来存放领域数据。领域对象类将会检测这个目录下存放领域对象的所有子目录,而每个独立的域对象被以XML格式进行存储,并以其主键进行命名。

    为存储LoanData域对象,我们先要执行SVNManager对象的checkInObject方法,通过SVNRepository 执行的ISVNEditor对象来在Subversion仓库中的建立和更新域对象的版本,但只有在closeEdit被调用后,才会提交所有的操作。SVNDeltaGenerator类用于获取当前版本与被更新版本之间的差异,Subversion通过存储版本间差异部分的形式存放新的版本,这样会使提高网络效率。

public SVNResult checkInObject(
                BaseTrackingObject obj){
        .....
        //Obtain the editor handle from the
        //repository
        ISVNEditor editor = theRepository.
                getCommitEditor(obj.
                getModificationReason(), null);
        ....
        //create the file at the specified path
                editor.addFile(path, null, -1);
        }
        else {
                //file is already present, so open
                //the file in the repository
                editor.openFile(path, -1);
        }
        ....
        String checksum = deltaGenerator.
                        sendDelta(path,
                        new ByteArrayInputStream(
                        obj.getXmlRepresentation().
                        getBytes()),
                        editor, true);
        .....
        editor.closeEdit();
        ...
}



延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网