zoukankan      html  css  js  c++  java
  • SVN模型仓库中的资源从一个地方移动到另一个地方的办法(很久才解决)

    弄了很久,想使用domove这个操作,但是都失败了。最后给svnkit的邮箱写了封邮件,他们告诉我这样做就成功了。实际上是使用docopy这个函数实现了move操作。
    package com.repositoryclient.svnoptions; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager; import org.tmatesoft.svn.core.
    internal.io.dav.DAVRepositoryFactory; import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory; 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.ISVNOptions; import org.tmatesoft.svn.core.wc.SVNClientManager; import org.tmatesoft.svn.core.wc.SVNCopyClient; import org.tmatesoft.svn.core.wc.SVNCopySource; import org.tmatesoft.svn.core.wc.SVNRevision; import org.tmatesoft.svn.core.wc.SVNWCUtil; public class StoreManagerCheckResourceOption { private SVNRepository repositoryTrgt; private SVNRepository repositorySrc; public boolean doMove(String userName,String passwd,String sourceDirUrl,String targetDirUrl){ SVNClientManager ourClientManager; // 初始化支持svn://协议的库 SVNRepositoryFactoryImpl.setup(); DAVRepositoryFactory.setup(); FSRepositoryFactory.setup(); SVNURL repositorySrcUrl = null; SVNURL repositoryTrgtUrl = null; try { SVNWCUtil.createDefaultAuthenticationManager(userName,passwd); repositorySrcUrl = SVNURL.parseURIEncoded(sourceDirUrl); repositoryTrgtUrl = SVNURL.parseURIEncoded(targetDirUrl); repositorySrc = SVNRepositoryFactory.create(repositorySrcUrl); repositoryTrgt = SVNRepositoryFactory.create(repositoryTrgtUrl); ISVNAuthenticationManager authManager =SVNWCUtil.createDefaultAuthenticationManager(userName,passwd); repositorySrc.setAuthenticationManager(authManager); repositoryTrgt.setAuthenticationManager(authManager); ISVNOptions options = SVNWCUtil.createDefaultOptions(false); // 实例化客户端管理类 ourClientManager = SVNClientManager.newInstance( (DefaultSVNOptions) options, userName, passwd); SVNCopyClient copyClient = ourClientManager.getCopyClient(); SVNCopySource[] copySources = new SVNCopySource[1]; copySources[0] = new SVNCopySource(SVNRevision.HEAD, SVNRevision.HEAD, repositorySrcUrl); // SVNDirEntry entry = (SVNDirEntry) srcRepository.getDir(sourceDirUrl, -1, null, (Collection) null); // if (entry.getKind() == SVNNodeKind.DIR) { // copyClient.doCopy(copySources, repositoryTrgtUrl, true, false, false, "move", null); // } else { // copyClient.doCopy(copySources, repositoryTrgtUrl, true, false, true, "move", null); // } copyClient.doCopy(copySources, repositoryTrgtUrl, true, false, false, "move", null); // SVNWCClient client = new SVNWCClient(authenticationManager, (ISVNOptions)(SVNWCUtil.createDefaultOptions(true))); // SVNCommitInfo svnInfo = ourClientManager.getLogClient(). // 要把此目录的内容导入到版本库 // File sourceDir = new File(sourceDirUrl); // File targetDir = new File("relative/" + targetDirUrl); // targetDir = targetDir.getAbsoluteFile(); // sourceDir.setReadable(true); // targetDir.setWritable(true); // 执行导入操作 // SVNMoveClient svnMoveClient = ourClientManager.getMoveClient(); // SVNUpdateClient svnUpdateClient = new SVNUpdateClient(authenticationManager, options); // svnMoveClient.doVirtualCopy(sourceDir, targetDir, true); // svnMoveClient.doMove(sourceDir, targetDir); // svnUpdateClient.doRelocate(sourceDir, repositorySrcUrl, repositoryTrgtUrl, true); return true; } catch (SVNException e) { // TODO: handle exception e.printStackTrace(); return false; } } }
  • 相关阅读:
    开始学习编写用于 Windows SideShow 设备的小工具【转】
    Windows Mobile 6.5 Developer Tool Kit 下载
    Microsoft Security Essentials 微软免费杀毒软件下载
    SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (2)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (4)
    负载测试、压力测试和性能测试的异同
    Windows Server 2008 Vista Sidebar Gadget (侧边栏小工具) 入门开发实例
    Silverlight Tools 安装失败 解决办法
    SQL Server 2008 空间数据库 空间索引概念及创建(取自帮助)
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/docopy.html
Copyright © 2011-2022 走看看