Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] templates: make example pre-commit hook verify submodule commits exist

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:42

Sam Vilain [off-list ref] writes:
With submodules it can be quite easy to end up with a situation where the
version in the supermodule doesn't exist in the submodule.  Add to the
example pre-commit hook a script which checks before every commit whether
the submodule commit is likely to exist at the URL defined in the
.gitmodules file.

Signed-off-by: Sam Vilain <redacted>
---
 This should be useful for those using submodules.  Perhaps it should also
 have an equivalent in the 'git submodule' command.
If I am a developer who is not interested in any of the submodules in the
project at all (i.e. I do not have any submodule checked out), my commits
will never touch any of the submodules.  In such a case, I shouldn't be
forced to fetch/clone the submodule nor have a checkout.

Which means...
+# first, check that all submodule commits are available by a remote
+# which has the same URL as the one they are listed in.
+if [ -n "$GIT_WORK_TREE" ]
+then
+	cd "$GIT_WORK_TREE"
+fi
+
+git ls-tree $(git write-tree) | grep commit |
+while read mode type sha1 submodule
+do
... the input fed to this while look utterly wrong.  At least, you should
be checking *new* commit that is introduced to the tree with this commit.

I didn't read the body of the while loop; no matter what it does, if its
input is wrong, its end result cannot be correct.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help