У меня проблема с хуком 'update'.В случае новой ветки он получает 0000000000000000000000000000000000000000 как «oldrev».И я не знаю, как справиться с этим делом.
У нас есть требование, чтобы каждое сообщение о коммите ссылалось на действительную проблему Jira.Поэтому я установил хук обновления в нашем центральном хранилище.Этот хук получает «oldrev» и «newrev».Затем я передаю их в «git rev-list» следующим образом:
git rev-list $oldrev..$newrev
Это дает мне список всех оборотов, которые я затем могу перебрать, и сделать все, что мне нужноделать.
Проблема в том, что когда пользователь нажимает на новую ветвь, ловушка получает 0000000000000000000000000000000000000000 как oldrev.А «git rev-list» просто жалуется:
fatal: Invalid revision range 0000000000000000000000000000000000000000..21bac83b2
Так как мне получить список всех оборотов, которые находятся в этой новой ветви?Я довольно долго искал в сети и ничего не нашел.Примеры хуков, которые я обнаружил, либо
- не решают проблему, и приводят к ошибке с сообщением об ошибке выше
- , неправильно пытаясь решить проблему, устанавливая oldrev в "", чтовозвращает неверные результаты из списка оборотов
- просто сдавайтесь, когда они сталкиваются с этим oldrev
Ни один из этих звуков не является особенно захватывающим.
Так что у кого-то есть идеи?как получить правильный ответ в таком случае?Я думал о том, чтобы запросить git для «дай мне все обороты, которые доступны из newrev, но не из любой другой ветви (= все ветви, кроме новой)».Но даже это дало бы неправильный ответ, если бы произошло слияние новой ветви с какой-либо из старых.