Как выбрать коммит, имеющий более одного родителя?
Я пишу приложение, которое автоматизирует перестройку ветки на основе нового руководителя. Он использует вишневый сбор, чтобы выполнить работу, но во многих случаях приложение сталкивается с коммитами слияния, у которых есть 2 родителя. Когда я делаю:
_ngit.CherryPick().Include(commit).Call();
... это исключение, Cannot cherry-pick commit '{commit_id}' because it has 2 parents, only commits with exactly one parent are supported.
Мне нужна возможность выбрать эти коммиты слияния, выбрав в качестве основы первого родителя. Похоже, будет что-то вроде:
_ngit.CherryPick().Include(commit).WithBase(0).Call();
(где 0
это индекс первого родителя, который я хочу использовать в качестве базы)
Я видел различные подсказки в Интернете, где люди пытались добавить эту возможность в jgit, но я никогда не видел никакой документации или чего-либо в API, которые бы указывали, что она доступна. Вот некоторые из таких "подсказок":
- Патч для выхода в 2011 году
- Еще один патч 2011 года, который выглядит так, как будто он превратился в egit, но не уверен, что jgit
- Патч для jgit в 2012 году
Если это возможно с jgit, пожалуйста, скажите мне, как. Если есть другой способ добавить эти коммиты слияния в мою новую ветку, я весь в ушах.