`gofmt` check fails if `go.mod` and `go.sum` are not in the root directory
Nessuno ha ancora preso questa issue.
- #68 di @gchappel — chiusa senza merge
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con l’hook gofmt configurato tramite .pre-commit-config.yaml e riproduci il problema usando un modulo Go in una sottodirectory. Traccia il modo in cui l’hook individua i file Go e la radice del modulo, quindi verifica che il codice Go malformato nel modulo annidato venga formattato correttamente senza richiedere go.mod o go.sum nella radice del repository.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Shell
- Stelle
- 546
- Fork
- 167
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di gruntwork-io/pre-commit
-
Documentation for shellcheck should include that it is configurable with a .shellcheckrcForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaenhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
gruntwork-io/pre-commit#79 ·
-
Support args for terraform-fmt, remove hardcoded args.Forse di nuovo libera @ZachGoldberg l’ha presa 386 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
gruntwork-io/pre-commit#138 · 3 reazioni · 1 assegnatario ·
-
Sentinel Fmt Hook Does Not WorkForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 38/100
gruntwork-io/pre-commit#121 ·
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
gruntwork-io/pre-commit#111 · 1 reazione ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 45/100
gruntwork-io/pre-commit#110 ·
Tutte le issue di gruntwork-io/pre-commit
Issue simili
-
Remove delay in startup?Aperta0. to triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
EchoTools/nevr-runtime#171 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Shell installer: updating PATH replaces symlinked profiles and changes existing file permissionsApertabug CLI
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
area/testing kind/cleanup priority/backlog triage/accepted
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
lexfrei/cloudflare-tunnel-gateway-controller#999 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno