利用SVNKit进行版本库的树的导出
来源:互联网 发布:热血江湖怪物数据 2017 编辑:程序博客网 时间:2024/04/30 04:05
public List searchByTree(String userName,String passwd,String SVNServerUrl,String dirUrl){ //这里有点像 storeManager的查看功能,但是是从 应用模型的目录开始查看的。 SVNURL repositoryUrl=null; SVNRepository repository=null; SVNRepositoryFactoryImpl.setup(); try { repositoryUrl=SVNURL.parseURIEncoded(SVNServerUrl); repository=SVNRepositoryFactory.create(repositoryUrl); ISVNAuthenticationManager authenticationManager=SVNWCUtil.createDefaultAuthenticationManager(userName, passwd); repository.setAuthenticationManager(authenticationManager); result.clear(); FileNode rootNode=new FileNode("root", SVNServerUrl, 0, "", 0, null, null); listTree(repository, dirUrl,rootNode); result.add(rootNode); } catch (Exception e) { // TODO: handle exception } return result; }
public void listTree(SVNRepository repository,String dirUrl,FileNode node){ String currentPath=""; List list=new ArrayList(); Collection root; try { String finalPath[]=dirUrl.split("/"); for(int i=3;i<finalPath.length;i++){ currentPath+=finalPath[i]+"/"; } System.out.println("****************: "+currentPath); root=repository.getDir(currentPath, -1, null, (Collection)null); Iterator iterator=root.iterator(); while (iterator.hasNext()) { SVNDirEntry entry=(SVNDirEntry)iterator.next(); if (entry.getKind()==SVNNodeKind.DIR) { FileNode subDirNode=new FileNode(entry.getName(), entry.getURL().toString(),entry.getRevision(),entry.getAuthor(),entry.getSize(), entry.getDate(), null); System.out.println("********"+entry.getURL()); listTree(repository, entry.getURL().toString(), subDirNode); list.add(subDirNode); } else { FileNode subnode=new FileNode(entry.getName(), entry.getURL().toString(),entry.getRevision(),entry.getAuthor(),entry.getSize(), entry.getDate(), null); list.add(subnode); } } } catch (SVNException e) { // TODO Auto-generated catch block e.printStackTrace(); } node.setChildren(list); }
以上这段代码,实现了将版本库中的东西组织成List的操作。最后返回的result就是要的list。
调用的时候这样子:
ModelDeveloper developer=new ModelDeveloper();List ddList=developer.searchByTree("test", "test", "svn://localhost/", ""); //当最后一个参数为“‘时,就是从根目录检索,导出整个结构树。当最后一个参数为"svn://localhost/aa/b"时,就是从版本库的aa/b下的东西导出。treeViewer.setInput(ddList);
0 0
- 利用SVNKit进行版本库的树的导出
- 使用SVNkit删除版本库的文件
- SVNKIT操作SVN版本库的完整例子
- Java调用svnkit,检出指定版本的文件
- svnkit的使用
- 利用GitHub进行文件的版本控制
- SVNKit 的 Ant 配置例子
- 一些SVNkit的好博客
- SVNKIT一段代码的分析
- SVN版本库的导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- 利用Java进行MySql数据库的导入和导出
- Unable to open kernel device "\\.\Global\vmx86"
- SVN 的revert操作
- SVN中正确的add操作和delete操作
- Hadoop搭建总结
- 使用SVNkit删除版本库的文件
- 利用SVNKit进行版本库的树的导出
- SWT的TreeViewer和TableViewer的交互
- sharpSVN说明文档
- 表空间所对应的存储空间的各个状态的说明【待完成】
- Java流读写
- Java解析xml的四种方式
- DOM解析XML文件实例
- Java流的理解
- JAVA邮件收发实现(待)