SVNkit checkout 代码

package svn;

import java.io.File;

import org.tmatesoft.svn.core.SVNURL;
import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
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 Demo
{

    // 声明客户端管理类
    private static SVNClientManager ourClientManager;

    public static void main(String[] args)
    {
        // 对版本库进行初始化操作
        DAVRepositoryFactory.setup(); // 支持HTTP和HTTPS
        // FSRepositoryFactory.setup(); 支持FTP
        // SVNRepositoryFactoryImpl.setup(); //支持SVN协议

        // 版本库的URL地址
        SVNURL repositoryURL = null;

        try
        {
            repositoryURL = SVNURL.parseURIEncoded("http://ip/XXXXX");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

        String name = "name";
        String password = "pwd";
        String myWorkingCopyPath = "D:/myLocalRep";
        ISVNOptions options = SVNWCUtil.createDefaultOptions(true);

        ourClientManager = SVNClientManager.newInstance((DefaultSVNOptions) options, name, password);

        File wcDir = new File(myWorkingCopyPath);
        wcDir.mkdirs();

        try
        {
            SVNUpdateClient updateClient = ourClientManager.getUpdateClient();
            updateClient.setIgnoreExternals(false);
            updateClient.doCheckout(repositoryURL, wcDir, SVNRevision.HEAD, SVNRevision.HEAD, true);

        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

    }
}

posted @ 2014-04-17 14:09  dafengshou888  阅读(475)  评论(0编辑  收藏  举报