Есть ли в JGit API все команды Git?
Я пытаюсь перенести сценарий оболочки на Java, который содержит несколько команд Git, которые мне в основном удалось найти в JGit API. Мне, однако, не удалось найти команды remote или am, это потому, что их не существует, или я просто ищу их не в том месте. Если они не существуют, есть ли другой способ их использования?
1 ответ
Нет готового партнера для git remote
а также am
в JGit, но должно быть возможно реализовать (подмножество) их с разумными усилиями.
Эти подкоманды git remote
этот запрос или манипулирование файлом конфигурации может быть эмулирован путем прямого доступа к конфигурации репозитория через Repository.getConfig()
,
Для очистки устаревших веток удаленного отслеживания, таких как git remote prune
делает, вы можете использовать LsRemoteCommand
получить список существующих удаленных веток и удалить удаленные из локальной конфигурации, которые не соответствуют этому списку.
Замена git am
может быть немного больше усилий. Есть ApplyCommand
применить патч из заданного входного потока, а также низкого уровня Patch
класс для разбора различий. Осталось бы проанализировать файлы почтовых ящиков и произвести фиксацию из содержащихся различий и метаданных (сообщение, автор и т. Д.).