pre-commit
pre-commit copied to clipboard
`gofmt` check fails if `go.mod` and `go.sum` are not in the root directory
Describe the bug
The gofmt check fails if Go code is stored in a subdirectory of the repository:
gofmt....................................................................Failed
- hook id: gofmt
- exit code: 1
go: cannot find main module, but found .git/config in /Users/gchappel/code/sample-directory
to create a module there, run:
go mod init
To Reproduce
- Create an empty directory
-
git init . - Configure
.pre-commit-config.yamlwith the Gruntwork pre-commit repo and enable thegofmthook - Create a subdirectory
- In this subdirectory run
go mod init test - In the subdirectory write a deliberately-malformed Go file, for example using spaces instead of tabs:
package main
import (
"fmt" // this line starts with two spaces
)
func main() {
fmt.Println("test") // this line starts with two spaces
}
-
git add .to add the Go code and the.pre-commit-config.yamlto the staging area - run
pre-commit run gofmt - see error
Expected behavior The malformed Go file has its spaces replaced with tabs
Nice to have
- [ ] Terminal output
- [ ] Screenshots
Additional context Add any other context about the problem here.