如何使用JGIT从GIT Hub获取新的更改

时间:2018-05-17 07:00:30

标签: java jgit

我写了一个下面的脚本来克隆一个存储库,它运行正常。我也在使用TestNG库来执行脚本。

    @BeforeClass
    public static void cloneGit() throws Exception 
    {
      String url = "https://${oauthtoken}@github.amazon.com/arrchanaMohan/xxxreports";
      String destination = ".//clone1//";

      CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(
                "${oauthtoken}", "");

      CloneCommand clone = Git.cloneRepository();
      clone.setURI(url);
      clone.setCredentialsProvider(credentialsProvider);
      clone.setDirectory(Paths.get(destination).toFile());
      clone.call();
    }

我只想在它开始在类中开始执行@Test方法之前克隆一次git存储库,而它确实如此。但大多数时候我在输出控制台中遇到以下错误消息。

  SKIPPED: insertRecords
  java.lang.RuntimeException: org.eclipse.jgit.api.errors.JGitInternalException: Destination path "clone1" already exists and is not an empty directory
    at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:163)

为了避免这种情况,我只想进行“获取”动作。我已经在我的本地克隆了repo如果它存在,那么它只需要从repo中获取更新的记录,而不是再次执行“clone”操作。

任何线索?

0 个答案:

没有答案