`

获取Svn mergeInfo总结

    博客分类:
  • SVN
阅读更多
方法一:
利用svnkit的api进行获取,代码如下:
  public String getMergeInfo1(String svnURL) {
        Properties properties = System.getProperties();
        properties.setProperty("svnkit.http.methods", "Basic,Digest,NTLM");
        SVNRepository repository = null;
        try {
            repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(svnURL));
            ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("username", "password");
            repository.setAuthenticationManager(authManager);
            long latestRevision = repository.getLatestRevision();
            Map<String, SVNMergeInfo> mergeInfo = repository.getMergeInfo(new String[] { "" }, latestRevision, SVNMergeInfoInheritance.EXPLICIT, false);
            return mergeInfo.toString();
        } catch (SVNException e) {
            e.printStackTrace();
        }
        return "";
    }


方法二:
利用svn命令的方式进行获取,这种方式在以startup.bat启动tomcat能正常运行,但以服务的形式启动tomcat时需要设置启动账号,否则取不到内容,代码如下:
public String getMergeInfo2(String svnURL) {

        StringBuilder sb = new StringBuilder();
        Process exec = null;
        BufferedReader br = null;
        try {
            exec = Runtime.getRuntime().exec("svn pg svn:mergeinfo " + svnURL);
            InputStream inputStream = exec.getInputStream();
            br = new BufferedReader(new InputStreamReader(inputStream));
            String str = null;
            while ((str = br.readLine()) != null) {
                sb.append(str);
                sb.append("\r\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return sb.toString();
    }
分享到:
评论

相关推荐

    python获取SVN日志

    指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间...

    Jenkins自动化部署获取svn二级目录

    Jenkins自动化部署获取svn二级目录,Jenkins部署教程和动态获取svn路径教程

    VS2017 自动获取SVN版本控制号

    本篇将详细介绍如何在VS2017中配置自动获取SVN版本控制号,以便在每次编译时更新代码中的版本号。 首先,我们需要了解SVN版本号是什么。SVN reversion版本号是Subversion仓库中特定提交的唯一标识,它反映了代码库...

    SVNKit获取SVN信息

    这个库使得开发者能够在Java应用程序中实现与SVN服务器的交互,包括版本控制操作、仓库浏览、信息获取等功能。本篇文章将深入探讨如何利用SVNKit来获取SVN的相关信息。 首先,你需要在项目中引入SVNKit的依赖。通常...

    获取svn最新版本号示例 以及svn常用命令

    本文将深入探讨如何获取svn的最新版本号,并介绍一些常用的svn命令。 首先,获取svn的最新版本号通常是为了确保你正在使用的代码是最新的,避免因版本过旧而遇到已解决的问题或错过新功能。有几种方法可以获取: 1...

    ant获取SVN版本信息的jar包xmltask以及安装,使用方法

    本主题聚焦于如何利用Ant与XMLTask jar包来获取SVN(Subversion)版本信息。下面将详细介绍这个过程以及相关知识点。 首先,了解Ant。Ant是一个基于Java的构建工具,它提供了跨平台的构建脚本能力,能够执行编译、...

    自动获取svn版本号,修改指定dll,exe版本信息

    自动获取工程svn提交的版本号,然后修改指定dll,exe的版本信息。最好达到的效果是,每次提交完svn后重新编译代码,会将最后提交的版本号写到version里比如:2.0.0.64,;2.0是大版本号,手动修改资源信息即可,后两...

    自动获取SVN代码并编译代码 以及自动部署方案

    标题和描述提到的"自动获取SVN代码并编译代码 以及自动部署方案"是一种高效的工作流,它整合了版本控制、编译和部署三个重要环节,使得开发团队能够快速响应变更,减少手动操作带来的错误。以下是关于这个主题的详细...

    自动获取svn代码并且编译发布

    标题和描述中提到的“自动获取svn代码并且编译发布”是一种常见的持续集成(CI)实践,它涉及自动化从版本控制系统获取源代码、构建应用程序、并进行发布的过程。以下是这个流程涉及的关键知识点: 1. **Subversion ...

    maven 简单实用的配置,打包,获取svn版本号

    maven 简单实用的配置,打包,获取svn版本号、仓库等等实用

    java 调用svn获取历史方法

    需要svnkit 使用方法 SVNUtil.getHistoryByDate("https://127.0.0.1:8443/svn/Test/mytestprotect/", "username", "password"); 如果jar 在我的其它资源里

    E:\自动化程序脚本\python获取svn日志信息\svnchanged_export.py

    使用python语言获取svn每个版本的详细Log信息便于分析

    Linux详细教程大全之SVN命令总结.docx

    Linux 详细教程大全之 SVN 命令总结 Linux 作为一个开源操作系统,已经成为软件开发和服务器管理的必备工具,而 SVN(Subversion)则是版本控制系统中的一种,广泛应用于软件开发、文档管理和版本控制等领域。下面...

    根据配置获取SVN单独文件

    根据文件中DIR.TXT的配置来获取SVN地址中相应的单独资源文件,其中中文字符配置成自己的目录就可以使用了.放在版本目录中

    获取SVN密码

    在IT行业中,版本控制系统是开发团队协作的重要工具,Subversion(简称SVN)就是其中的一种。SVN允许团队成员共享代码、跟踪修改,并保持项目版本的一致性。在这个过程中,密码管理是确保数据安全的关键环节。当我们...

    linux上脚本获取svn项目代码,编译后启动java项目

    1,新建目录(如果有老的目录,则移除掉) 2,从svn获取项目代码,并归纳好目录 3,编译项目代码 4,启动项目 打开文件 配置好各种信息 执行 sh script start 即可

    windows下在svn钩子中获取,项目名称,作者,日志,时间,版本号

    在windows环境下,提交代码到svn中,使用钩子脚本,获取项目名称,提交人,提交时间,提交的日志信息,版本号,纯bat脚本。ps:不是pre-commit.bat文件,因为在该文件中获取不到真正的版本号。

    svn技术总结本人自己学习笔记.zip

    在日常使用中,SVN的主要操作包括 Checkout(检出)——获取仓库中的最新版本到工作副本;Update(更新)——将仓库中的最新更改同步到工作副本;Commit(提交)——将工作副本的更改保存回仓库;Merge(合并)——...

    SVN用法总结,介绍具体svn的各种命令

    ### SVN使用指南与命令详解 #### 一、概述 Subversion(简称SVN)是一种集中式的版本控制系统,广泛应用于软件开发和其他需要版本控制管理的领域。通过SVN,团队成员可以方便地协作开发项目,同时确保项目的每个...

    版本控制-svn学习总结

    本文将重点介绍Subversion(简称svn)这一版本控制系统,包括它的基本概念、主要功能以及安装配置步骤。 首先,svn的核心概念主要包括版本号、基线、冲突和分支。版本号是每个文件或目录变更的标识,它反映了代码的...

Global site tag (gtag.js) - Google Analytics