Hey there, I think I found a bug in git: I want to use 'git ls-files' onto a git submodule, called in a post-commit hook of main repository, which doesn’t work. The same call in a post-checkout hook works perfectly. Example setup to try it out, use a empty (temporary) folder: --- snipp --- mkdir git-submodulerepo cd git-submodulerepo git init git config user.email "you@xxxxxxxxxxx" git config user.name "Your Name" echo "nothing" > submodule_file.txt git add submodule_file.txt git commit submodule_file.txt -m "Add my file" cd .. mkdir git-repo cd git-repo git init git config user.email "you@xxxxxxxxxxx" git config user.name "Your Name" echo "nothing" > rubbish.txt git add rubbish.txt git commit rubbish.txt -m "Add my rubbish" git submodule add ../git-submodulerepo printf '#!/bin/bash\ncd git-submodulerepo\necho Git says my files are:\ngit ls-files\necho ---------------\necho Filesystem says my files are:\nls -w1\necho ---------------\n' > .git/hooks/post-commit chmod +x .git/hooks/post-commit cp .git/hooks/post-commit .git/hooks/post-checkout chmod +x .git/hooks/post-checkout --- snapp --- So 'git ls-files' call in post-checkout hook works: $ git checkout HEAD A .gitmodules A git-submodulerepo Git says my files are: submodule_file.txt --------------- Filesystem says my files are: submodule_file.txt --------------- A 'git ls-files' in post-commit doesn’t work: $ echo nothing >> rubbish.txt && git commit rubbish.txt -m "Add just rubbish" Git says my files are: --------------- Filesystem says my files are: submodule_file.txt --------------- [master e05efb1] just rubbish 1 file changed, 1 insertion(+) This was tested using git version 2.25.0.windows.1 With git version 2.21.0 (cygwin) git ls-files outputs "fatal: .git/index: index file open failed: Not a directory" I didn’t test other hooks. Calling "git ls-files" in hook for your main repository (and not a submodule) works for both cases. I checked for basic things (I'm in submodule directory in both hooks), so I guess this is a bug in git. Any questions? Thanks in advance! Stefan