Re: [RFC/PATCH] Disallow commands from within unpopulated submodules.
From: Stefan Beller <hidden>
Date: 2017-01-20 20:07:49
On Fri, Jan 20, 2017 at 12:00 PM, Jeff King [off-list ref] wrote:
On Fri, Jan 20, 2017 at 11:53:01AM -0800, Stefan Beller wrote:quoted
quoted
One alternative would be to make the check cheaper. Could we reliably tell from the submodule.foo.* block in the config that path "foo" is a submodule? I think that would work after "submodule init" but not right after "git clone". So the index really is the source of truth there.Well we can check if there is a .gitmodules file that has a submodule.*.path equal to the last part of $CWD, no need to look at the git config. And that would also work right after git clone (in an unpopulated/uninitialized submodule as I call it). And in my current understanding of submodules the check in .gitmodules ought to be enough, too.Yeah, that probably makes sense. You can have a gitlink without a .gitmodules file, but I don't quite know what that would mean in terms of submodules (I guess it's not a submodule but "something else").
yeah, I agree it could be git series[1] at work, or as you said "something else", and we have no idea what to do. I think this could actually be implemented top-down, because the check is cheap as we're beginning with lstat(.gitmodules), and no further pursue checking this corner case in case the .gitmodules is not found. I'll see if I can make a patch that passes the test suite. [1] https://github.com/git-series/git-series/blob/master/INTERNALS.md
-Peff