首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过javahl从svn简单结帐

通过javahl从svn简单结帐
EN

Stack Overflow用户
提问于 2011-07-07 17:21:02
回答 2查看 2.4K关注 0票数 1

我想使用javahl从java程序中签出来自svn的源代码。尝试使用Javahl,因为它似乎是免费的,也可用于商业用途。

我需要将http://example.com/svn/project1/trunk之类的内容签出到本地目录。

这应该是一个相当简单的过程,只需要几行代码?我仍然找不到任何关于如何做到这一点的教程。

你能给出一些java行的例子吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-27 04:39:18

我知道这个问题有点老生常谈了,但今天我不得不做一些类似的事情。我也找不到任何好的教程,最终使用unit tests作为我的参考。

下面是一些适用于我的Java代码:

代码语言:javascript
复制
import org.apache.subversion.javahl.ClientException;
import org.apache.subversion.javahl.SVNClient;
import org.apache.subversion.javahl.types.Depth;
import org.apache.subversion.javahl.types.Revision;
...
static void checkout(String reproUrl, String workingDirectory) throws ClientException {
    SVNClient client = new SVNClient();
    client.checkout(
        reproUrl,
        workingDirectory,
        Revision.HEAD,
        Revision.HEAD,
        Depth.infinity,
        false,
        false);
}

如果您需要进行身份验证,SVNClient提供了username(String)password(String)方法。

票数 2
EN

Stack Overflow用户

发布于 2011-07-07 17:27:35

查看http://wiki.svnkit.com/Getting_Started_With_SVNKithttp://wiki.svnkit.com/Managing_A_Working_Copy

代码语言:javascript
复制
private static long checkout( SVNURL url , SVNRevision revision , File destPath , boolean isRecursive ) throws SVNException {

   SVNUpdateClient updateClient = ourClientManager.getUpdateClient( );
   /*
    * sets externals not to be ignored during the checkout
     */
    updateClient.setIgnoreExternals( false );
    /*
     * returns the number of the revision at which the working copy is 
    */
   return updateClient.doCheckout( url , destPath , revision , revision , isRecursive );

}

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6608387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档