Я пытаюсь обновить подмодуль git с помощью Java JGit, чтобы он указывал на последнюю удаленную фиксацию.
Пожалуйста, обратитесь к приведенному ниже фрагменту кода и наблюдаемым результатам.
Может ли кто-нибудь помочь исправить код или предоставить мне альтернативный подход. Заранее спасибо.
File parentWorkingDir=
parentGit.getRepository().getDirectory().getAbsoluteFile();
try (Git git = Git.open(new File(parentWorkingDir,
"modules/submodulePath"))) {
PullCommand command = git.pull(); //<- Try 1
// PullCommand command =
// git.pull()setRemoteBranchName("refs/heads/branchName"); <- Try 2
command.setCredentialsProvider(new
UsernamePasswordCredentialsProvider(userID,
String.valueOf(userPassword)));
PullResult pullResult = command.call();
MergeResult mergeResult = pullResult.getMergeResult();
return mergeResult.getMergeStatus();
}
Фактический результат:
Попробуйте 1 -> Не удается оформить заказ из нерожденной ветки
Попробуйте 2 -> pullResult.getMergeResult(); возвращает null и заканчивается NullpointerException
Ожидаемый результат:
Должна быть возможность получить статус слияния, а подмодуль должен обновляться/указывать на последнюю фиксацию, аналогичную удаленной.