api调用git下载

来源:互联网 发布:java spring框架 编辑:程序博客网 时间:2024/04/29 02:13
import java.io.File;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
/**
 * api调用git下载
 * @author 
 * @date 2016-06-16
 *
 * 实现api调用git下载功能,至少需要以下jar包:
 * org.eclipse.jgit-4.3.1.201605051710-r.jar
 * jsch-0.1.53.jar
 */
public class GitUtil {
 public static void main(String[] args) throws Exception {
  cloneRepository("192.168.0.233/test.git","xxxxxxxx", "xxxxxxxx", "D:/MyGitTest");
 }
 /**
  * api调用git下载
  * @param gitUrl Git地址
  * @param userName git用户名
  * @param password 密码
  * @param savePath 下载后的项目存储路径
  * @return
  * @throws Exception
  */
 public static void cloneRepository(String gitUrl,String userName,String password,String savePath) throws Exception{
        File file = new File(savePath);
        if(file.exists()){
            deleteDir(file);
        }
    //    System.out.println("Cloning from " + GitUrl + " to " + savePath);
        Git.cloneRepository()
        .setURI(gitUrl)
        .setDirectory(file)
        .setCredentialsProvider(new UsernamePasswordCredentialsProvider(userName, password))
        .call();
 }
 
 private static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        //
        return dir.delete();
    }
0 0