Git регистрировать неоднозначный аргумент только в GitLab - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть две ветви, master и turtles, с черепахами, опережающими master на один коммит: 'I like turtle'.
В GitLab у меня есть следующий файл .yml, который запускается всякий раз, когда создается запрос на слияние. или обновлен путем нажатия на ветку для слияния:

update-doc:
    stage: deploy
    script:
        - echo $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
        - 'echo $(git log --abbrev-commit remotes/origin/master)'
        - 'echo $(git log --abbrev-commit remotes/origin/master..remotes/origin/${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME})'
        - 'echo $(git cherry -v remotes/origin/master remotes/origin/turtles --abbrev=1)'
    only:
        - merge_requests

Запуск git log --abbrev-commit remotes/origin/master..remotes/origin/turtles или git cherry -v remotes/origin/master remotes/origin/turtles в Git Bash на моей машине Windows и на виртуальной машине Linux, где мы находимся Хостинг GitLab возвращает сообщение о коммите «Мне нравятся черепахи», как и ожидалось. Но когда запускается файл .yml, он не может найти ветку remotes/origin/turtles, и я получаю следующий вывод:

$ echo $ CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
черепах
$ echo $ (git log --abbrev-commit remotes / origin / master)
8406e4d Обновление .gitlab-ci.yml
$ echo $ (git log --abbrev-commit remotes / origin / master..remotes / origin / $ {CI_MERGE_REQUEST_SOURCE_BRANCH_NAME})
fatal: неоднозначный аргумент 'remotes / origin / master..remotes / origin / turtles': неизвестная ревизия или путь вне рабочего дерева. Используйте '-', чтобы отделить пути от ревизий, например: 'git [...] - [...]'
$ echo $ (git cherry -v remotes / origin / master remotes / origin / turtles --abbrev = 1)
fatal: неизвестные коммиты remotes / origin / turtles

Таким образом, GitLab четко знает, что существует ветвь turtles, так как она находится в переменной $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME, но, кажется, не могу разрешить пульты / происхождение / черепах. Я тоже пытался без remotes / origin / part, но все равно не повезло.

Как заставить бегуна GitLab распознать этот удаленный путь ветви запроса на слияние? Или есть другая команда git, которую я мог бы попробовать, которая показывает только коммиты на ветке черепах?

...