svnkit-常用api
2024-08-29 23:27:11
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();
最新文章
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
- 利用FileStream实现多媒体文件复制
- android listview 加载图片错乱(错位)
- asmdisk 丢失问题一次记录
- mongnodb 启动脚本
- Delphi 在使用exports中的方法 带参数的用法
- Java Volatile transient 关键字
- 使用SLT 工具从SAP导入数据到SAP HANA的监控
- jdk8 JAVA_OPTS
- 如何获得select被选中option的value和text
- 讨论下茴香逗的茴字有几种写法,javascript字符串数组查找“indexOf";的替代方式。
- Alpha冲刺随笔汇总
- LeetCode--434--字符串中的单词数
- vue 中安装使用sass 报错遇到的问题整理
- [bzoj 1260][CQOI 2007]涂色paint
- django-插件django REST framework,返回序列化的数据
- 在网页浏览器中原生显示PDF文件
- java-mybaits-00801-逆向工程
- python爬虫我是斗图之王
- 接口API中的敏感数据基于AES进行安全加密后返回