5

I'd like to get a git log for the repository and all submodules. The manpage says that git log --submodule should be used but this doesn't work for me.

------- Edit -------

As an example - what I run:

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

The output of git log --submodule doesn't include the commits from any of the submodules anyhow - just the commits where submodule pointers have been changed.

What's missing?

pagid
  • 12,173
  • 10
  • 70
  • 96
  • What do you mean it doesn't work? Are there actually commits in the submodule to be displayed in the commit range you're running git-log over in the parent repo? – Cascabel Jan 13 '12 at 05:48
  • Did you initialize and update your submodules? (`git subomdules init`/`git submodules update`) – VonC Jan 13 '12 at 07:37

1 Answers1

6

It sounds as though you're expecting --submodule to interleave submodule commits with those from the parent repository in the git log output, but unfortunately that's not what it does.

The --submodule argument defines how submodule differences are shown - so you'll only see its effects if you're using e.g. git log -p to show patches for each change. Normally, git log -p will just show the hashes for the before and after commits for a submodule change in the patch:

$ 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

With --submodule you get the actual commit message from the submodule listed:

$ 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
Simon Whitaker
  • 20,203
  • 4
  • 56
  • 79