我写了一个下面的脚本来克隆一个存储库,它运行正常。我也在使用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”操作。
任何线索?