Java操作SVN执行下载和更新等操作

1. 自己亲测的有SVN下载和更新,其它的没有测试
2. 也就是checkOut 和doUpdate
 

import org.apache.log4j.Logger;
import org.tmatesoft.svn.core.SVNCommitInfo;
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.dav.DAVRepositoryFactory;
import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl;
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
import org.tmatesoft.svn.core.wc.*;

import java.io.File;
import java.util.List;
 
public class SVNKit {
   
 
    // 更新状态 true:没有程序在执行更新,反之则反
    public static Boolean DoUpdateStatus = true;
 
    // 声明SVN客户端管理类
    private static SVNClientManager ourClientManager;
    private final static Logger logger = Logger.getLogger(SVNKit.class);

    /**
     * SVN路径
     */
    public static   String SvnPath;
 
    /**
     * SVN检出到目标路径
     */
    public  static String TargetPath ;
    // public static final String TargetPath = "/root/soft/resources";
 
    public String getSvnPath() {
   
		return SvnPath;
	}

	public void setSvnPath(String svnPath) {
   
		SvnPath = svnPath;
	}

	public String getTargetPath() {
   
		return TargetPath;
	}

	public void setTargetPath(String targetPath) {
   
		TargetPath = targetPath;
	}

	public String getSvnUserName() {
   
		return SvnUserName;
	}

	public void setSvnUserName(String svnUserName) {
   
		SvnUserName = svnUserName;
	}

	public String getSvnPassWord() {
   
		return SvnPassWord;
	}

	public void setSvnPassWord(String svnPassWord) {
   
		SvnPassWord = svnPassWord;
	}

	/**
     * SVN用户名
     */
    public  static String SvnUserName ;
 
    /**
     * SVN用户密码
     */
    public  static String SvnPassWord ;
    
 
    /**
     * SVN检出
     * 
     * @return Boolean
     */
    public  Boolean checkOut() {
   
        // 初始化库。 必须先执行此操作。具体操作封装在setupLibrary方法中。
        /*
         * For using over http:// and https://
         */
        DAVRepositoryFactory.setup();
        /*
         * For using over svn:// and svn+xxx://
         */
        SVNRepositoryFactoryImpl.setup();
 
        /*
         * For using over file:///
         */
        FSRepositoryFactory.setup();
 
        // 相关变量赋值
        SVNURL repositoryURL = null;
        try {
   
            repositoryURL = SVNURL.parseURIEncoded(SvnPath);
        } catch (SVNException e) {
   
            logger.error(e.getMessage());
            return false;
        }
 
        ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
 
        // 实例化客户端管理类
        ourClientManager = SVNClientManager.newInstance((DefaultSVNOptions) options, SvnUserName, SvnPassWord);
 
        // 要把版本库的内容check out到的目录
        File wcDir = new File(TargetPath);
 
        // 通过客户端管理类获得updateClient类的实例。
        SVNUpdateClient updateClient 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值