GeezerVison is showing github.com — forbid-new-submodules is broken · Issue #609 · pre-commit/pre-commit-hooks
forbid-new-submodules is broken #609
Description
The hook does not have an explicit types section.
Default types: [file] does not match submodules (which are directories). It works only if you commit some regular file together with committing new submodule.
Specifying types: [directory] helps but not much: it works as a pre-commit but doesn't as pre-push or any other way when you specify --from-ref and --to-ref.
I'd suggest stopping ignoring provided by pre-commit list of files and check git status for provided files instead of diff.
Activity
asottile commented on Jun 3, 2021
@m-khvoinitsky in order to add a submodule .gitmodules needs to be edited -- are you sure about your assertions? can you describe what you're seeing instead of prescribing a solution? I suspect you've got an XY problem
m-khvoinitsky commented on Jun 3, 2021
ContributorAuthor
More actions
in order to add a submodule .gitmodules needs to be edited
That's correct if you're adding submodules intentionally. But if user tries to commit some another git repository inside current one by accident, git complains but obediently adds a "commit" (type 160000) entry in the tree. I was hoping that this hook would prevent such situations too.
I suspect you've got an XY problem
May be it is. If so, a separate hook which rejects type 160000 entries without corresponding records in .gitmodules suits my needs better. However, implementing proposed chages would make this hook useful in both usecases (which makes sense because rejecting "incomplete" submodule is still rejecting a submodule).
And the (separate) problem with --from-ref and --to-ref is still a problem — current hook is useless in CI.
asottile commented on Jun 3, 2021
feel free to take a stab if you think it's worth it, I'm just not sure you're solving something that's actually a problem
added a commit that references this issue
on Jun 23, 2021This issue will close once commit 7e72488 is merged into the 'master' branch.7e72488 added a commit that references this issue
on Jul 6, 2021This issue will close once commit 4227f13 is merged into the 'master' branch.4227f13 added 3 commits that reference this issue
on Jul 19, 2021This issue will close once commit 1886f67 is merged into the 'master' branch.1886f67 This issue will close once commit fcf2962 is merged into the 'master' branch.fcf2962 This issue will close once commit 83ec0fb is merged into the 'master' branch.83ec0fb added a commit that references this issue
on Aug 2, 2021This issue will close once commit e53e6ca is merged into the 'master' branch.e53e6ca added a commit that references this issue
on Aug 13, 2021This issue will close once commit 10c5e4e is merged into the 'master' branch.10c5e4e
Metadata
Metadata
Development
No branches or pull requestsIssue actions