Сравнение Gitlab Branch / Tag из нижней версии в обновленную версию - PullRequest
0 голосов
/ 08 июня 2018

Я создал два тега и сравнил их, сохранив Tag1 как Source и Tag2 как Target, затем вывод получился как Не с чем сравнивать.Вам нужно будет использовать разные имена веток, чтобы получить правильное сравнение.

Если я поменял теги, т. Е. Tag2 как Source и Tag1 как Target, то будут показаны diffдолжным образом.Почему diff не отображается, когда Обновленная версия находится в Target

1 Ответ

0 голосов
/ 09 июня 2018

Это было замечено в gitlab-ce выпуск 37889 , но это не может быть ошибкой.

Страница сравнения для каждого проекта позволяет вводить два SHA1,но нажатие на кнопку сравнения возвращает это сообщение:

There isn't anything to compare.
You'll need to use different branch names to get a valid comparison.

Однако сравнение от старого коммита на мастере до master само дает ожидаемый результат (все коммиты из старогоcommit для HEAD из master показаны), поэтому кажется, что функциональность есть.

Это все еще видно в последней версии 10.x GitLab.


Комментарий выпуска 25162 иллюстрирует проблему:

Сравнение e1bf40e2 с 3d0074a6 работает, как ожидалось.Тем не менее, измените порядок и выберите «Ничего не с чем сравнивать».

С этим все в порядке:
e1bf40e2 ... 3d0074a6

Этотне в порядке:
3d0074a6 ... e1bf40e2

Но:

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

Я предполагаю, что GitLab использует 2 коммита с 3 точками.3 точки скажут Git использовать общего предка для сравнения.

Проблема в том, что 3d0074a6...e1bf40e2 будет таким же, как выполнение git diff $common-ancestor e1bf40e2, где $common-ancestor - результат выполнения git merge-base 3d0074a6 e1bf40e2, который e1bf40e2

Итак, что происходит, вы выполняете git diff e1bf40e2 e1bf40e2, поэтому нет никакой разницы.

Я предполагаю, что вы хотите выполнить git diff 3d0074a6 e1bf40e2 без точек, что будетскажите Git, что нужно различать коммиты, а не общего предка.

Так что проверьте ваш diff-адрес: если вы видите три точки, то ожидается сообщение об ошибке.

...