java操作svn--部分方法

2023-10-27

package com.svnutil;

import java.io.File;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.SVNDirEntry;
import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
import org.tmatesoft.svn.core.internal.io.svn.ISVNConnector;
import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl;
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
import org.tmatesoft.svn.core.io.SVNRepository;
import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
import org.tmatesoft.svn.core.wc.ISVNConflictHandler;

import org.tmatesoft.svn.core.wc.ISVNOptions;
import org.tmatesoft.svn.core.wc.SVNClientManager;
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.wc.SVNUpdateClient;
import org.tmatesoft.svn.core.wc.SVNWCUtil;
@SuppressWarnings("all")
public class ReadDirFromSVN {
             //从svn中拿到一个目录的子目录    
             public static List<String> getFileDir(String username,String password,String SVNRoot){
		List<String> lists=new ArrayList<String>();
		try{
			SVNRepository repository=SVNRepositoryFactory.create(SVNURL.parseURIEncoded(SVNRoot));//找到svn的url
			ISVNAuthenticationManager authManager=SVNWCUtil.createDefaultAuthenticationManager(username,password);//用户验证
			repository.setAuthenticationManager(authManager);
			Collection entries=repository.getDir("", -1, null, (Collection)null);
			Iterator iterators=entries.iterator();
			while(iterators.hasNext()){
				SVNDirEntry entry=(SVNDirEntry)iterators.next();
				lists.add(entry.getName());
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return lists;
	}
	 //从项目中checkout代码
	public static void checkout(String sourceRoot,String targetRoot,String username,String password){
//		  SVNRepositoryFactoryImpl.setup();
//		  ISVNOptions options=SVNWCUtil.createDefaultOptions(true);
		  //SVNClientManager client=SVNClientManager.newInstance((DefaultSVNOptions)options,username,password);//拿到客户端并进行验证
		  SVNClientManager client=SVNClientManager.newInstance();//拿到客户端
		  ISVNAuthenticationManager authManager=SVNWCUtil.createDefaultAuthenticationManager(username,password);//用户验证参数
		  client.setAuthenticationManager(authManager);//进行用户验证
		  try{
			  SVNUpdateClient updateClient = client.getUpdateClient(); 
			  client.setIgnoreExternals(false);
			  System.out.println("checkout...");
			  updateClient.doCheckout(SVNURL.parseURIEncoded(sourceRoot), new File(targetRoot),
					  SVNRevision.HEAD, SVNRevision.HEAD, true);
		      System.out.println("checkout complement!");
		 
		  }catch(Exception e){
			  e.printStackTrace();
		  }
	  }
	        //测试
			public static void main(String[] args) {
//				List<String> lists=ReadDirFromSVN.getFileDir("admin", "admin", "https://192.168.1.188/svn/svndemo/javacore/");
//				for (String string : lists) {
//					System.out.println(string);
//				}
				ReadDirFromSVN.checkout("https://192.168.1.188/svn/svndemo/javacore/", "E:\\checkout", "admin", "admin");
			}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java操作svn--部分方法 的相关文章

  • Java8 操作集合汇总

    文章目录 优雅的将一个对象的集合转化成另一个对象的集合 交集 list1 list2 差集 并集 去重并集 从List中过滤出一个元素 Map集合转 List Collectors toList Collectors toMap List集
  • 异步的AsyncHttpClient使用详解

    背景 前面的一篇文章 同步的HttpClient使用详解 中 提到了服务端通进行网络请求的方式 也讲述了在并发量大的情况下使用HttpClient的连接池来提高性能 此方法虽然很有效果 但是当访问量极大或网络不好的情况下也会出现某些网络请求
  • Tomcat

    目录 一 Tomcat 的下载安装 二 启动 Tomcat 三 访问一下 Tomcat 的欢迎页面 四 Tomcat 的使用 tomcat 是 java 中最知名 最广泛使用的 HTTP 服务器 一 Tomcat 的下载安装 在浏览器中 搜
  • java操作svn--部分方法

    package com svnutil import java io File import java text DateFormat import java util ArrayList import java util Collecti
  • Java EE 企业级应用 复习 初识Spring框架

    Spring概述 Spring是由Rod Johnson组织开发的一个分层的Java SE EE一站式轻量级开源框架 它最核心的理念是控制反转和面向切面编程 Spring框架的优点 非倾入式设计 降低耦合性 方便开发 支持AOP编程 支持声
  • Spring 基础概念和核心思想

    目录 一 Spring 是什么 1 认识 loC 2 理解 Spring loC 3 DI 概念说明 一 Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework Spring 框架 它是 个开源框架 有
  • HSQLDB 和 H2 数据库比较

    前面在介绍Vaadin SQL Container时使用了HSQLDB 也说过SQL Container在使用上并不十分方便 不如直接使用hibernate 来的实用 最近准备开始介绍hibernate 的开发指南 数据库系统也会使用H2
  • java中CompletableFuture异步编程详解以及实践案例

    文章目录 一 CompletableFuture的使用 1 创建CompletableFuture的方式 2 获得异步执行结果 3 对执行结果进行处理 4 对执行结果进行消费 5 异常处理 6 两组任务按顺序执行 7 两组任务谁快用谁 8
  • Hibernate 总结

    Hibernate Hibernate是什么 Hibernate是一个框架 framework Hibernate是一个orm框架 Orm object relation mapping 对象关系映射 框架 Hibernate处于项目的持久
  • 用struts框架+正则表达式对数据进行校验

    创建文件名为XXX xxx validation xml XXX为Action类名 xxx为struct xml中对应的action配置的name名 并和该类放在同一个包中 校验文件部分代码如下 非字段型校验器
  • 网络原理详解(图文结合)

    目录 编辑一 应用层 1 请求和响应 2 通用的协议格式 1 xml 2 json 3 protobuffer 二 传输层 1 UDP 2 TCP 1 TCP 协议段格式 2 可靠传输的实现机制 确认应答机制 可靠性 超时重传机制 可靠性
  • JVM相关知识点

    目录 编辑一 JVM 内存区域划分 1 栈 2 堆 3 元数据区 方法区 二 JVM 类加载机制 1 类加载机制介绍 2 双亲委派模型 经典问题 三 JVM 垃圾回收机制 GC 1 了解 GC 2 GC 实际工作过程 1 找到垃圾 判定垃圾
  • Servlet学习——为什么在web容器中servlet对象只有一个?

    以下为本人个人观点 如有错误 望指出 不胜感激 简单来说就是为了节省内存 servlet的设计非常的巧妙 如果我们对每一个用户请求都生成一个对应servlet的对象 第一 由于web服务器的访问量比较大 意味着内存开销会很大 第二 要GC大
  • netbeans6.0 javafx 插件安装

    netbeans6 0 beta1已经发布有一段时间了 netbeans现在确实是越来越好了 随着新版本的发布 我们也应该来熟悉一下这个好产品 javafx自从2007javaone sun公布以来 一直收到热捧 今天我们来看看netbea
  • 初识网络原理(笔记)

    目录 编辑局域网 网络通信基础 IP 地址 端口号 协议 协议分层 TCP IP 五层网络模型 网络数据传输的基本流程 发送方的情况 接收方的情况 局域网 搭建网络的时候 需要用到 交换机 和 路由器 路由器上 有 lan 口 和 wan
  • Vue.js怎么给文本域赋默认值,和获取输入的值

    Vue js怎么给文本域赋默认值 一般给文本域赋初值用于修改某个东西 需要获取默认值 可以用v model来完成
  • HTTP 协议

    目录 编辑一 HTTP 协议是什么 二 抓包工具的使用 三 HTTP 请求 1 认识 URL 2 认识方法 3 认识请求 报头 HOST Content Length 和 Content Type 编辑 User Agent Referer
  • Eclipse中Web项目开发与Tomcat发布的的路径问题详解

    本人以前对Web项目的开发路径和发布路径等一直都很懵逼 今天找到了一片文章 里面写得很详细 在这里转载分享给大家 https www cnblogs com teach p 5669873 html
  • Map和String的相互转化

    Java中的Map集合与String的相互转化 代码如下 package com jianhu Test import java util Arrays import java util HashMap import java util M
  • Spring Boot使用AOP实现拦截器

    Spring Boot 专栏 https blog csdn net dkbnull category 9278145 html Spring Cloud 专栏 https blog csdn net dkbnull category 92

随机推荐

  • Spark数据类型SparseMatrix

    SparseMatrix Spark的mllib包中提供了机器学习的两种基本数据类型 DenseMatrix 稠密 和 SparseMatrix 稀疏 在初始化对象的时候可以使用Matrices伴生对象产生 先看下示例代码 import o
  • Linux-------------DNS域名解析:正反解析

    DNS域名解析 DNS简介 前期准备 正方解析实验 正向解析实验 反向解析实验 常见错误 修改resolv conf 修改hostname 检查DNS是否为ip地址 归纳总结 DNS简介 域名管理系统DNS Domain Name Syst
  • Pentaho Report Designer 入门教程(二)

    Pentaho Report Designer 入门教程 二 采用Pentaho Report Designer5 1版本 也是最新的版本 一 安装和介绍 介绍部分内容略 首先安装jdk 并配置java相关环境变量 下载pentaho re
  • stm32学习总结:2、搭建基于CLion的stm32开发环境

    stm32学习总结 2 搭建基于CLion的stm32开发环境 文章目录 stm32学习总结 2 搭建基于CLion的stm32开发环境 1 前言 2 相关工具和环境准备 2 1 STM32CubeMX 前置工程创建工具 2 2 CLion
  • 敏捷:什么是用户故事(User Story)

    摘要 一件用户通过系统完成他一个有价值的目标 买一罐饮料 的事 这样的过程就叫 用户案例 user case 或者 用户故事 user story 本文描述了敏捷开发的技巧 如何以用户故事管理项目 什么是用户故事 user story 假定
  • 内网渗透-frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 文章目录 frp 用于内网穿透的基本配置和使用 前言 frps frpc 后记 参考 前言 frp 是一个专注于内网穿透的高性能的反向代理应用 支持 TCP UDP HTTP HTTPS 等多种协议 可
  • 【开源介绍】命令行的艺术( the-art-of-command-line )

    1 概述 转载 命令行的艺术 the art of command line
  • Blob数据类型、数据库事务

    1 Bolb是二进制长对象的意思 通常用于存储大文件 通过二进制数据保存到数据库里 并可以从数据库里恢复指定文件 2 如果需要将图片插入数据库 不能通过普通的SQL语句完成 Bolb常量无法表示 所以将Bolb数据插入数据库需要使用Prep
  • 合成孔径SAR卫星影像专业术语

    转载自 http www kosmos image com index php m content c index a show catid 73 id 4132 目录 Across track Active Remote Sensing
  • 初学机器学习:直观解读KL散度的数学概念

    选自thushv com 作者 Thushan Ganegedara 机器之心编译 机器学习是当前最重要的技术发展方向之一 近日 悉尼大学博士生 Thushan Ganegedara 开始撰写一个系列博客文章 旨在为机器学习初学者介绍一些基
  • 深度学习(Deep Learning)读书思考六:循环神经网络一(RNN)

    概述 循环神经网络 RNN Recurrent Neural Network 是神经网络家族中的一员 擅长于解决序列化相关问题 包括不限于序列化标注问题 NER POS 语音识别等 RNN内容比较多 分成三个小节进行介绍 内容包括RNN基础
  • QT窗体间传值总结之Signal&Slot

    在写程序时 难免会碰到多窗体之间进行传值的问题 依照自己的理解 我把多窗体传值的可以使用的方法归纳如下 1 使用QT中的Signal Slot机制进行传值 2 使用全局变量 3 使用public形式的函数接口 4 使用QT中的Event机制
  • 独立进程使用django模型(django.setup()使用)

    文章目录 独立进程使用django模型 独立进程使用django模型 步骤 django setup RuntimeError populate isn t reentrant 独立进程使用django模型报错 Apps aren t lo
  • 提升Postern代理性能的五个小技巧

    在使用Postern代理时 如何提高其性能是许多用户关注的问题 本文将分享一些针对Postern代理进行优化的技巧和建议 帮助更好地利用该工具并获得更出色的网络体验 Postern是一个功能强大且灵活易用的Android应用程序 可实现全局
  • 智能指针auto_prt的使用(c++学习笔记)

    c 中如果要申请资源一般用到new 最后释放资源delete 如果我们在delete之前就退出了函数呢 看下面的代码 cpp view plain copy include
  • 2 指定目录编译

    1 目录结构 指定目录编译 go build o bin calc1 exe day01 package example main 转载于 https www cnblogs com jec1999 p 9822834 html
  • TCP数据的传输过程

    TCP数据的传输过程 TCP Transmission Control Protocol 传输控制协议 是一种面向连接的 可靠的 基于字节流的通信协议 数据在传输前要建立连接 传输完毕后还要断开连接 客户端在收发数据前要使用 connect
  • Spark集群运行问题

    spark输出太多warning messages WARN Executor 2 block locks were not released by TID Lock release errors occur frequently in e
  • 阿里云对象存储oss费用明细

    https www aliyun com price product spm a311a 7996332 0 0 137630803P2qTh oss detail 最终决定 阿里云割韭菜 弃用选择业界其他便宜的 第二年阿里云只给你个续费
  • java操作svn--部分方法

    package com svnutil import java io File import java text DateFormat import java util ArrayList import java util Collecti