svnkit-常用api
0、功能列表
svnkit功能列表
1、递归获取指定目录下目录和文件,以树形展示【svn Update】
2、获取指定文件和属性(版本号、作者、日期、文件类型)
3、获取指定文件或目录的历史记录(版本号、作者、日期、log message)【show log...】
4、提交指定目录(递归)或文件【svn commit...】
5、导出svn server指定目录或文件到本地指定目录【Export...】
6、复制已经存在的Repository
7、检查文件或目录是否存在&确定路径是文件还是目录
8、创建新目录
9、将本地svn切换到另外svn 地址【Relocate...】
10、锁定文件【get Lock/release Lock】、删除文件【delete】、复制/移动文件
1、为了支持不同协议,需要安装相应类库
//为了使用 http:// and https://
DAVRepositoryFactory.setup();
//为了使用 svn:// and svn+xxx://
SVNRepositoryFactoryImpl.setup();
//为了使用 file:///
FSRepositoryFactory.setup();
2、创建SVNRepository来管理repository.
/*
* 创建SVNRepository来管理repository.
* SVNURL 是url的包装对象
*/
repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url));
3、登录
//登录
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(name, password.toCharArray());
repository.setAuthenticationManager(authManager);
4、验证entry是否存在/文件还是目录
/*
* SVNNodeKind.NONE :无此目录或文件
* SVNNodeKind.FILE :该地址是个文件
* SVNNodeKind.DIR :该地址是个目录
*/
SVNNodeKind nodeKind = repository.checkPath("", -1);
5、获取该仓库的根路径
//输出:http://1.2.3.4/svn/sloth
repository.getRepositoryRoot(true);
6、获取指定目录下的所有文件或目录
Collection entries = repository.getDir(path, -1, null,(Collection) null);
Iterator iterator = entries.iterator();
while (iterator.hasNext()) {
SVNDirEntry entry = (SVNDirEntry) iterator.next();
System.out.println("/" + (path.equals("") ? "" : path + "/")
+ entry.getName() + " (author: '" + entry.getAuthor()
+ "'; revision: " + entry.getRevision() + "; date: " + entry.getDate() + ")");
}
7、获取文件内容与文件属性
SVNProperties fileProperties = new SVNProperties();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
/*
* 获取文件内容和属性。-1:最后版本。
*/
repository.getFile(filePath, -1, fileProperties, baos);
String mimeType = fileProperties.getStringValue(SVNProperty.MIME_TYPE);
boolean isTextType = SVNProperty.isTextMimeType(mimeType); Iterator iterator = fileProperties.nameSet().iterator();
while (iterator.hasNext()) {
String propertyName = (String) iterator.next();
String propertyValue = fileProperties.getStringValue(propertyName);
}
8、获取repository最后版本
latestRevision = repository.getLatestRevision();
svnkit-常用api的更多相关文章
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- compass General 常用api学习[Sass和compass学习笔记]
compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
- C++ 中超类化和子类化常用API
在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
- js的常用api
JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...
- JS操作DOM常用API总结
<JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- 【OpenGL游戏开发之二】OpenGL常用API
OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenGL ...
- Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API
A fast, un-opinionated, minimalist web framework for Node.js applications. In general, prefer simply ...
随机推荐
- Git如何将本地test分支设置跟踪origin/test分支
前提条件: 有一个远程仓库其中只有一个master分支,然后我把它clone到本地 1.新建一个本地分支test, 2.然后把它push到远程仓库(git push origin test) 3.本地 ...
- Gym 101158D(暴力)
题意:给定两个长度为N的字符串,1<=N<=4000,求满足字符串1中的某个区间所有的字母种类和个数都与字符串2中的某个区间相同最长的区间长度. 分析: 1.预处理每个串字母个数的前缀和. ...
- Java扫雷游戏: JMine
JMine是用Java和Swing编写的扫雷程序.作者是Jerry Shen(火鸟),代码有一定年头了,最开始是作者的课程设计.阅读这种小程序对编程语言的学习挺有帮助.本文只简单介绍一些关键的地方,实 ...
- 142-PHP trait的定义和使用
<?php trait info{ //定义trait static function getinfo(){ return '这是一个'.__CLASS__.'类.<br />'; ...
- 095-PHP遍历关联数组,并修改数组元素值
<?php $arr=array('I'=>1,'II'=>2,'III'=>3,'IV'=>4,'V'=>5); //定义一个数组 echo '修改之前数组信息: ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-qrcode
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Python MySQL Order By
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- 【剑指Offer】面试题10- I. 斐波那契数列
题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2) ...
- 基于Ambari的WebUI部署HBase服务
基于Ambari的WebUI部署HBase服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari服务 博主推荐阅读: https://www.cnblogs.co ...
- 编程入门-Eclipse项目导出和导入
编程入门-Eclipse项目导出和导入 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.导出项目 1>.如下图所示,在项目目录上右击鼠标,依次点击"Export& ...