SVNKit 是一个完全基于Java的Subversion开源工具库,通过它提供的API,可以用Java操作svn,如代码提交,更新等。下面的例子,是我通过svnkit来获取svn版本库的最新版本。
引入svnkit.jar 这个jar包。测试代码如下:
@Test
public void testSvnHeaderVersion() throws SVNException {
/*
* 对版本库进行初始化操作,使用https或http访问svn时,执行DAVRepositoryFactory.setup();
* 对于通过使用svn:// 和 svn+xxx:// 访问svn时,执行SVNRepositoryFactoryImpl.setup();
* 对于通过file:/// 访问svn的情况,执行 FSRepositoryFactory.setup();
*/
SVNURL url = SVNURL.parseURIEncoded("https://svn.xxx.com/xx/xxxx/xxx/trunk/xxx/xxx/"); //某目录在svn的位置,获取目录对应的URL。即版本库对应的URL地址
DAVRepositoryFactory.setup(); //初始化
ISVNOptions options = SVNWCUtil.createDefaultOptions(true); //驱动选项
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("username","password"); //提供认证
SVNRepository repos= SVNRepositoryFactory.create(url);
repos.setAuthenticationManager(authManager); //设置认证
logger.debug(">>> "+repos.getLocation()); //打印出当前版本库路径
logger.debug(">>> "+ repos.getLatestRevision()); //获取当前版本库的最新版本
}
执行结果如下图: