Как узнать, закрыта ли ветка с помощью ее ревизии? - PullRequest
0 голосов
/ 24 октября 2018

Собственная система сборки строит каждый коммит, сделанный на ветке.Но в Mercurial, чтобы закрыть ветку, вы должны сделать что-то вроде «закрыть коммит», вызывая сборку для этого коммита.

Это проблема, потому что мы тратим ресурсы на ненужные сборки.

Мы используем hglib для выполнения всего кода ртути.

(changeset.branch(), changeset.rev(), str(changeset)) in self.repo.Branches()

Я пробовал эту команду, но она игнорирует предыдущие коммиты, потому что я знаю, что она проверяет, существует ли она только какветвь в репо.

Есть ли способ узнать, с помощью набора изменений или иным способом, является ли фиксация на ветви "закрытой фиксацией".

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

В конце концов, это то, что я искал:

self.Client.log(revrange="closed()")

Это вернет:

[(revision, changeset, tag, branch name, 'username', description, date)]

Это просто кортеж, поэтому для этого:

Как найти список кортежей в Python

0 голосов
/ 25 октября 2018

Информация close сохраняется в дополнениях набора изменений.Я не уверен, как получить к нему доступ через hglib, но вы можете получить к нему доступ через шаблонный вызов журнала: hg log -r 2 -T "{extras|json}\n":

{"branch": "branch", "close": "1", "topic": "laconic-kouprey"}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...