В настоящее время у меня есть хук pre-commit
в моем проекте Mercurial, который дает пользователю возможность обновить номер версии проекта, если он пожелает (например, 1.0
до 1.0.1
или 1.1
или 2.0
) , Они выбирают один из этих параметров, и ловушка обновляет номер версии в одном из файлов проекта до того, как происходит фиксация.
Когда я запускаю hg commit
, эта ловушка запускается и обновляет соответствующий файл с новым номером версии, а затем выполняет фиксацию.
Я бы хотел добавить к хуку так, чтобы он также вызывал hg tag <new_verson_number>
.
Однако я не могу добавить это к хуку pre-commit
, потому что тогда тег будет добавлен до вызова коммита, в результате чего тег будет на одну ревизию устаревшим.
Я бы хотел добавить команду hg tag
к хуку commit
(запустить после коммита), чтобы последовательность событий была такой:
hg commit -m "my commit message"
- пользователь говорит да, я хотел бы изменить номер версии
- номер версии обновляется в соответствующем файле
- коммит происходит [все до этого в порядке]
- если пользователь изменил номер версии, запустите ловушку коммита:
hg tag <new_version_number>
.
Теперь я мог бы добавить ловушку фиксации, которая считывает новый номер версии из файла, в котором он хранится, и запускает hg tag <new_version_number>
, , но , что если пользователь решил не менять номер версии? В этом случае я не хочу добавить тег, и если я буду слепо запускать hg tag <new_version_number>
, я получу теги, которые мне не нужны.
Итак, есть ли какой-то способ, которым я могу сказать хуку pre-commit
оставить некоторую информацию для хука commit
(да / нет того, нужно ли добавлять тег), и хук commit
может использовать это для определить, добавлять тег или нет?
веселит.