SVNKit (JavaSVN) 是一个纯 Java 的 SVN 客户端库,使用 SVNKit 无需安装任何 SVN 的客户端,支持各种 *** 作系统。 这不是一个开源的类库,但你可以免费使用。 通过SVNKit,你可以在SVN上开发出自己的应用。
java代码import java.io.File
import org.tmatesoft.svn.core.SVNDepth
import org.tmatesoft.svn.core.SVNException
import org.tmatesoft.svn.core.SVNURL
import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions
import org.tmatesoft.svn.core.wc.ISVNOptions
import org.tmatesoft.svn.core.wc.SVNClientManager
import org.tmatesoft.svn.core.wc.SVNRevision
import org.tmatesoft.svn.core.wc.SVNUpdateClient
import org.tmatesoft.svn.core.wc.SVNWCUtil
public class CheckOut {
//声明SVN客户端管理类
private static SVNClientManager ourClientManager
public static void main(String[] args) throws Exception {
//初始化支持svn://协议的库。 必须先执行此 *** 作。
SVNRepositoryFactoryImpl.setup()
//相关变量赋值
SVNURL repositoryURL = null
try {
repositoryURL = SVNURL.parseURIEncoded("svn://localhost/")
} catch (SVNException e) {
//
System.out.println("无法连接")
}
String name = "admin"//svn帐号
String password = "admin"//svn密码
ISVNOptions options = SVNWCUtil.createDefaultOptions(true)
//实例化客户端管理类
ourClientManager = SVNClientManager.newInstance(
(DefaultSVNOptions) options, name, password)
//要把版本库的内容check out到的目录
File wcDir = new File("D:\test\test")
//通过客户端管理类获得updateClient类的实例。
SVNUpdateClient updateClient = ourClientManager.getUpdateClient()
//sets externals not to be ignored during the checkout
updateClient.setIgnoreExternals(false)
//执行check out *** 作,返回工作副本的版本号。
long workingVersion= updateClient
.doCheckout(repositoryURL, wcDir, SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY,false)
System.out.println("把版本:"+workingVersion+" check out 到目录:"+wcDir+"中。")
}
}
报这个错
Exception in thread "main" org.tmatesoft.svn.core.SVNException: svn: E204899: Unable to make directories
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.ensureDirectoryExists(SVNFileUtil.java:1498)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:736)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:14)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:9)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1221)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:292)
at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:781)
at com.catt.demo.CheckOut.main(CheckOut.java:45)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)