diff options
| author | Anderson Queiroz <contato@andersonq.eti.br> | 2019-09-17 09:35:23 +0200 |
|---|---|---|
| committer | Daniel Martí <mvdan@mvdan.cc> | 2019-09-25 10:39:08 +0000 |
| commit | 85688492bf1b598c999c025b9d626ae298968a43 (patch) | |
| tree | cb15d2bfb60be1ee05c094ded63f18f6d2a2657d | |
| parent | 11e366f73b1246ae71e6fcf989a0c7ce06bbe6ed (diff) | |
| download | go-x-review-85688492bf1b598c999c025b9d626ae298968a43.tar.xz | |
git-codereview: do not install hooks for help and invalid commands
Fixes golang/go#34320
Change-Id: I53348a027d1a33d1614d2bad32c75eaca52fac8a
Reviewed-on: https://go-review.googlesource.com/c/review/+/195897
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
| -rw-r--r-- | git-codereview/review.go | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/git-codereview/review.go b/git-codereview/review.go index 147733f..a4ea988 100644 --- a/git-codereview/review.go +++ b/git-codereview/review.go @@ -137,9 +137,37 @@ func main() { } command, args := os.Args[1], os.Args[2:] - if command == "help" { + var cmd func([]string) + switch command { + case "help": fmt.Fprintf(stdout(), help, os.Args[0]) - return + return // avoid installing hooks. + case "hooks": // in case hooks weren't installed. + installHook(args) + return // avoid invoking installHook twice. + case "branchpoint": + cmd = cmdBranchpoint + case "change": + cmd = cmdChange + case "gofmt": + cmd = cmdGofmt + case "hook-invoke": + cmd = cmdHookInvoke + case "mail", "m": + cmd = cmdMail + case "pending": + cmd = cmdPending + case "rebase-work": + cmd = cmdRebaseWork + case "submit": + cmd = cmdSubmit + case "sync": + cmd = cmdSync + case "test-loadAuth": // for testing only. + cmd = func([]string) { loadAuth() } + default: + flags.Usage() + return // avoid installing hooks. } // Install hooks automatically, but only if this is a Gerrit repo. @@ -157,32 +185,7 @@ func main() { installHook(hookArgs) } - switch command { - case "branchpoint": - cmdBranchpoint(args) - case "change": - cmdChange(args) - case "gofmt": - cmdGofmt(args) - case "hook-invoke": - cmdHookInvoke(args) - case "hooks": - installHook(args) // in case above was bypassed - case "mail", "m": - cmdMail(args) - case "pending": - cmdPending(args) - case "rebase-work": - cmdRebaseWork(args) - case "submit": - cmdSubmit(args) - case "sync": - cmdSync(args) - case "test-loadAuth": // for testing only - loadAuth() - default: - flags.Usage() - } + cmd(args) } func expectZeroArgs(args []string, command string) { |
