Skip to main content

Module no_submodules

Module no_submodules 

Source
Expand description

no_submodules — flag the presence of a .gitmodules file at the repo root.

Submodules introduce a second source of truth (the submodule’s commit pointer) that drifts silently, complicates CI, and surprises users who git clone without --recurse-submodules. Many projects have adopted vendoring or package managers and want to keep submodules banned forever.

This rule is intentionally not configurable by paths.gitmodules at the repo root is what actually enables git submodules, and letting users override that would invite footguns. For more general “file X must not exist” checks, use file_absent instead.

Fixable via file_remove, which deletes .gitmodules. Note this is the surface-level fix — the user still needs to run git submodule deinit and clean up .git/modules/ themselves.

Structs§

NoSubmodulesRule

Functions§

build