Я использую JGit и хочу вывести из удаленного репозитория в свой локальный репозиторий.
Первым подходом было клонирование репозитория, и это сработало нормально:
CredentialsProvider cp = new UsernamePasswordCredentialsProvider(username, password);
try (Git result = Git.cloneRepository()
.setURI("http://172.20.1.2/team/myrepo.git")
.setDirectory(new File("c:\\temp\\gittest"))
.setCredentialsProvider(cp)
.call()) {
System.out.println("Having repository: " + result.getRepository().getDirectory());
}
Но после второго вызова репозиторий повторно клонировать не нужно. Поэтому я подумал, что мне нужно вытащить
Git git = Git.open(new File("c:\\temp\\gittest"));
git.pull().call();
Но я получаю следующую ошибку:
org.eclipse.jgit.api.errors.TransportException: http://172.20.1.2/team/myrepo.git: Authentication is required but no CredentialsProvider has been registered
Я не знаю, где я могу передать учетные данные команде pull.