История Git, включая / чередовать коммиты субмодуля - PullRequest
5 голосов
/ 13 января 2012

Я хотел бы получить git log для хранилища и всех подмодулей.На странице руководства написано, что следует использовать git log --submodule, но у меня это не работает.

------- Редактировать -------

Как пример -что я запускаю:

git clone git://git.typo3.org/TYPO3v4/Core.git
cd Core
git submodule init && git submodule update
git log --submodule 

Вывод git log --submodule так или иначе не включает коммиты из любого из подмодулей - только коммиты, в которых были изменены указатели подмодулей.

Чего не хватает

1 Ответ

6 голосов
/ 13 января 2012

Звучит так, как будто вы ожидаете, что --submodule будет чередовать коммиты субмодуля с таковыми из родительского репозитория в выводе git log, но, к сожалению, это не то, что он делает.

Аргумент --submoduleопределяет, как отображаются различия подмодулей - так что вы увидите их эффекты, только если вы используете, например, git log -p, чтобы показать патчи для каждого изменения.Обычно git log -p просто показывает хэши для коммитов до и после для изменения подмодуля в патче:

$ git log -1 -p
commit 111808a2bb8c9683d3abe68df419759848ddb16e
Author: Simon Whitaker <simon@...>
Date:   Fri Jan 13 10:40:41 2012 +0000

    Updated ObjectiveFlickr ref

diff --git a/submodules/ObjectiveFlickr b/submodules/ObjectiveFlickr
index b37c053..1bede67 160000
--- a/submodules/ObjectiveFlickr
+++ b/submodules/ObjectiveFlickr
@@ -1 +1 @@
-Subproject commit b37c0539a536147957c01ad01cf2d8666bcbde9e
+Subproject commit 1bede67b8258ed4b95b5d3d6c2175b5e64912269

С --submodule вы получаете фактическое сообщение о фиксации из указанного подмодуля:

$ git log -1 -p --submodule
commit 111808a2bb8c9683d3abe68df419759848ddb16e
Author: Simon Whitaker <simon@...>
Date:   Fri Jan 13 10:40:41 2012 +0000

    Updated ObjectiveFlickr ref

Submodule submodules/ObjectiveFlickr b37c053..1bede67:
  > Set SKIP_INSTALL to YES so that Product > Archive 
  still builds app rather than Xcode archive
...