Github - сравнивать не с чем

Здравствуйте,

Я нахожусь на 940eb28e31 . И теперь, если я нажимаю на коммиты, чтобы просмотреть их на GitHub.

После нажатия ничего не находится… Discourse изменил ветку или что я упускаю? Я всегда проверяю коммиты перед обновлением.

Спасибо! :slight_smile:

Привет,

У нас возникла та же проблема. Удалось ли вам её решить?

Используя сравнение из оригинального сообщения (940eb28e…fc61a7c0), я вижу тот же результат. Добавив ещё один символ кода второго коммита (940eb28e…fc61a7c0d), я получаю правильное сравнение.

Мое предположение состоит в том, что это вызвано неоднозначностью хеша коммита, то есть существуют два коммита, которые оба начинаются с fc61a7c0, поэтому система не знает, какой из них использовать. Я не вижу их в истории коммитов, но они могут быть «осиротевшими» (орфанными).

Похоже, что docker_manager использует git rev-parse --short для получения хешей для этого URL. Теоретически это должно генерировать уникальные хеши начиная с 7 символов (по умолчанию) и увеличивать их длину по мере необходимости для обеспечения уникальности. Однако при вытягивании (pull) осиротевшие коммиты игнорируются, поэтому то, что git считает уникальным на экземпляре Discourse, может не быть уникальным на GitHub.

Однако это случается довольно редко, и с момента вашего сообщения были добавлены новые коммиты, поэтому проблема, вероятно, уже исчезла, если вы снова проверите обновления.

Привет @kinetiksoft, спасибо, что подняли эту тему!
Я считаю, что Саймон прав. Спасибо за это замечательное объяснение! :slightly_smiling_face: Я никогда не думал, что проблема может быть в этом.

Да, у меня проблема решилась после нескольких коммитов.

Очень интересно — спасибо, что разобрались, @Simon_Manning

Я создал PR, который обновит docker_manager, чтобы он использовал полный хэш коммита в ссылках GitHub:

Похоже, что на ветке main пока нет коллизий из 8 символов. Однако у нас есть несколько коллизий из 7 символов:

❯ git rev-list --all | cut -c1-7 | sort | uniq -d
27c793a
3483c7b
45a166b
96aca6d
c2e58b6
f73ed45