Как узнать, к какой версии Rails был применен конкретный коммит?

#ruby-on-rails #github

#ruby-on-rails #github

Вопрос:

Часто при исследовании проблемы я сталкиваюсь с коммитом в Rails, который решает проблему.

Но как кто-то видит, какая версия Rails впервые включила это исправление?

Например, проблема с отсутствующей папкой /tmp / pid была исправлена в этом коммите Rails: https://github.com/rails/rails/commit/70e6ff2ed8596eb9bd6dcce87cb3f14015638d70

Но как я могу узнать, какая версия Rails включала это исправление?

Комментарии:

1. Примечания к выпуску Rails включают запрос на извлечение для каждого реализованного элемента, что, к сожалению, является обратным тому, что вы хотите. Смотрите guides.rubyonrails.org и прокрутите вниз до Примечаний к выпуску.

Ответ №1:

Чтобы узнать, какая конкретная версия включает определенный коммит, вам нужно посмотреть теги в репозитории:

 max@pop-os ~/p/rails> git tag --contains 70e6ff2ed8596eb9bd6dcce87cb3f14015638d70
v6.0.1
v6.0.1.rc1
v6.0.2
v6.0.2.1
v6.0.2.2
v6.0.2.rc1
v6.0.2.rc2
v6.0.3
v6.0.3.1
v6.0.3.2
v6.0.3.3
v6.0.3.4
v6.0.3.rc1
  

git branch --contains <commit id> также может использоваться для поиска новых коммитов, которые еще не помечены. Например, коммиты на master, которые еще не были «выпущены».

Для этого вам сначала нужно клонировать репозиторий с Github и извлечь все ветви (или, по крайней мере, стабильные ветви).

Комментарии:

1. Ответ SHORTCUT: @max кажется надежным и правильным и принимается, но локальное клонирование rails кажется немного обременительным. Я обнаружил, что при просмотре коммита рядом с номером коммита находится ссылка с надписью «родительский», и если я несколько раз нажму на эту «родительскую» ссылку, я в конечном итоге «доберусь» до коммита, который показывает версию rails