LINUX.ORG.RU

Как вернуть основной проект Git и все его подмодули на нужную дату?

 , submodules


0

2

Мне необходимо скомпилировать старую версию Linphone 3.12.0 в ОС Debian 9 из официальных исходников. Проект Linphone включает в себя много подпроектов:

git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive

В подпроекте linphone-sdk вложено 43 других подпроекта.

К сожалению, в тегах основного проекта нет пометки версии 3.12.0. После версии 3.11.1 сразу идет версия 4.0. Но мне известна дата, когда я компилировал ветку linphone master: 6 Марта 2019.

Как вернуть на нужную дату основной проект и все подпроекты в Git, чтобы получить полное старое состояние?

★★★★★

ссылка на эту ветку должна идти во внутренней документации любой конторы под вопросом «почему мы не используем субмодули»

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Может быть, можно как-то извратиться с git foreach?

Или хотя бы нужно понять, как получить хеш коммита на нужную дату.

Xintrea ★★★★★
() автор топика

Эм, а разве Git не переключит сабмодули на нужные хеши после переключения основного проекта на хеш с твоей датой?

git log --until=06-Mar-2019 (выбираешь хеш нужного коммита)

git checkout -b on_my_date <hash> (подставляешь хеш нужного коммита и создаёшь ветку на нужное состояние)

EXL ★★★★★
()
Ответ на: комментарий от max_lapshin

Не, лучше на этот комментарий с пометкой «не знаю о чём говорю».

xaizek ★★★★★
()
Ответ на: комментарий от EXL

git log --until=06-Mar-2019 (выбираешь хеш нужного коммита)

Сразу получить хеш нужного коммита:

git rev-list -n 1 --before="Mar 6 2019" master | head -n 1

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Нет, их HEAD и worktree остаются в предыдущем состоянии. Надо сделать git submodule update.

Там вложенные подмодули, похоже что надо:

git submodule update --recursive

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Как оказалось, надо еще и инитить:

git submodule update --init --recursive

Xintrea ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.