Может ли Phabricator игнорировать Ref Txxx в коммитах для конкретной ветви?

Мы используем Ref Txxxсинтаксис в нашем git связывает их с задачами фабрикатора. Хорошая особенность, именно то, что мы хотим, однако:

Во время разработки и перебазирования в конкретной ветке это создает много шума в истории фабрикатора, т.е. многие коммиты отображаются как зачеркнутые после перебазирования и т. Д.

зачеркнутый фабрикатор

Можно ли этого избежать? Конечно, я мог бы использовать манекен Ref а затем заменить те, когда я думаю, что я закончил. Но могу ли я исключить филиал из-под контроля фабрикатора или есть другой умный способ справиться с этим?

1 ответ

Решение

Да, вы можете заставить фабрикатор просто наблюдать за определенными и тем самым неявно игнорировать другие ветви.

Идти к Repositories -> выберите репозиторий -> Действия -> Управление репозиторием -> Филиалы-> Редактировать. Здесь вы можете установить Track Only описать, на какие ветви фабрикатор должен смотреть.

У меня есть несколько веток, где я хочу игнорировать фабрикатор personal/$USER/ ветви, таким образом, я установил Track Onlyчтобы:

regexp(/^(?!personal)/)

Посмотрите на документацию.

Ответ Андерса был неудовлетворительным для наших нужд, так как исключение ветви из отслеживаемого означает, что Phabricator вообще не может ее увидеть, поэтому ветвь не может быть просмотрена в Diffusion, что делает невозможным проверку кода с помощью встроенных комментариев. То, что мы хотим сделать, это просто предотвратить Ref Txxx от вступления в силу, когда это происходит в ветвях, соответствующих указанному шаблону.

Оказывается, это именно то, что делает Autoclose. Документация не говорит об этом, и название не подразумевает этого, но Ref Txxx вступает в силу только в тех ветвях, в которых включена автозаполнение. В документации только сказано, что Autoclose контролирует, Closes Txxx может автоматически изменять статус задачи.

Перейдите к своему хранилищу в Diffusion и выберите " Действия"⇾ "Управление хранилищем"⇾ "Филиалы"⇾ "Редактировать".

Предположим, вы хотите отключить Ref ссылки в feature/* ветви. Установите "Только автозаполнение" на:

regexp(/^(?!feature\/)/)

(Обратите внимание на использование \/ чтобы избежать / который в противном случае будет рассматриваться как конец регулярного выражения.)

Это список, и ветвь включена, если она соответствует одному или нескольким шаблонам, поэтому предположим, что вы хотите включить Ref ссылки для master, release/*, а также develop/* ветви и отключите их во всех других ветках. Вы должны установить "Только автозаполнение":

master
regexp(/^release\//)
regexp(/^develop\//)
Другие вопросы по тегам