Я написал нижеприведенный скрипт для клонирования репозитория, и он отлично работает. Также я использую библиотеку 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();
}
Я просто хочу клонировать репозиторий git один раз, прежде чем он начнет выполнять метод @Test в классе, и он это сделал. но чаще всего я сталкиваюсь с приведенным ниже сообщением об ошибке в консоли вывода.
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)
Чтобы избежать этого, я просто хочу выполнить "выборку". Я уже клонировал репо в моем локальном репозитории. Если он существует, ему нужно только извлечь обновленные записи из репо, вместо того, чтобы снова выполнять действие «клонировать».
Есть ли отведения?