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()); //擷取目前的版本庫的最新版本
}
執行結果如: