svnkit-常⽤api
0、功能列表
svnkit功能列表
1、递归获取指定⽬录下⽬录和⽂件,以树形展⽰【svn Update】
2、获取指定⽂件和属性(版本号、作者、⽇期、⽂件类型)
3、获取指定⽂件或⽬录的历史记录(版本号、作者、⽇期、log message)【】
4、提交指定⽬录(递归)或⽂件【】
5、导出svn server指定⽬录或⽂件到本地指定⽬录【】
6、复制已经存在的Repository
7、检查⽂件或⽬录是否存在&确定路径是⽂件还是⽬录
8、创建新⽬录
9、将本地svn切换到另外svn 地址【】
10、锁定⽂件【get Lock/release Lock】、删除⽂件【delete】、复制/移动⽂件
1、为了⽀持不同协议,需要安装相应类库
repository文件夹可以删除吗//为了使⽤ and
DAVRepositoryFactory.setup();
//为了使⽤ svn:// and svn+xxx://
SVNRepositoryFactoryImpl.setup();
//为了使⽤ file:///
FSRepositoryFactory.setup();
2、创建SVNRepository来管理repository.
/*
* 创建SVNRepository来管理repository.
* SVNURL 是url的包装对象
*/
repository = ate(SVNURL.parseURIEncoded(url));
3、登录
//登录
ISVNAuthenticationManager authManager = ateDefaultAuthenticationManager(name, CharArray()); repository.setAuthenticationManager(authManager);
4、验证entry是否存在/⽂件还是⽬录
/*
* SVNNodeKind.NONE :⽆此⽬录或⽂件
* SVNNodeKind.FILE :该地址是个⽂件
* SVNNodeKind.DIR :该地址是个⽬录
*/
SVNNodeKind nodeKind = repository.checkPath("", -1);
5、获取该仓库的根路径
//输出:1.2.3.4/svn/sloth
6、获取指定⽬录下的所有⽂件或⽬录
Collection entries = Dir(path, -1, null,(Collection) null);
Iterator iterator = entries.iterator();
while (iterator.hasNext()) {
SVNDirEntry entry = (SVNDirEntry) ();
System.out.println("/" + (path.equals("") ? "" : path + "/")
+ Name() + " (author: '" + Author()
+ "'; revision: " + Revision() + "; date: " + Date() + ")");
}
7、获取⽂件内容与⽂件属性
SVNProperties fileProperties = new SVNProperties();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
/*
* 获取⽂件内容和属性。-1:最后版本。
*/
String mimeType = StringValue(SVNProperty.MIME_TYPE); boolean isTextType = SVNProperty.isTextMimeType(mimeType);
Iterator iterator = fileProperties.nameSet().iterator();
while (iterator.hasNext()) {
String propertyName = (String) ();
String propertyValue = StringValue(propertyName);
}
8、获取repository最后版本
latestRevision = LatestRevision();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论