aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatoli Babenia <anatoli@rainforce.org>2025-04-10 20:07:28 +0300
committerGopher Robot <gobot@golang.org>2025-04-11 08:16:03 -0700
commitd5c513ca99314c64746d8c23dd8c126b9dbb3823 (patch)
treece54fc919754aa579b1f7a21d9709212b63199a6
parent44a75e6d7c7357094e78043f8786f4ad11fc811b (diff)
downloadgo-x-review-d5c513ca99314c64746d8c23dd8c126b9dbb3823.tar.xz
git-codereview: do not write hooks if -n is givenv1.15.0
Fixes golang/go#73314 Change-Id: I881c2ae97f72990a6daac4919687f85cb24ac076 Reviewed-on: https://go-review.googlesource.com/c/review/+/664555 Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Carlos Amedee <carlos@golang.org>
-rw-r--r--git-codereview/hook.go20
-rw-r--r--git-codereview/review.go5
2 files changed, 19 insertions, 6 deletions
diff --git a/git-codereview/hook.go b/git-codereview/hook.go
index a2c54e5..162e4d1 100644
--- a/git-codereview/hook.go
+++ b/git-codereview/hook.go
@@ -38,7 +38,9 @@ func installHook(args []string, auto bool) {
oldHookContent := fmt.Sprintf(oldHookScript, hookFile)
if string(data) == oldHookContent {
verbosef("removing old %v hook", hookFile)
- os.Remove(filename)
+ if makeChange() {
+ os.Remove(filename)
+ }
}
// Special case: remove old commit-msg shell script
// in favor of invoking the git-codereview hook
@@ -46,7 +48,9 @@ func installHook(args []string, auto bool) {
// the future.
if hookFile == "commit-msg" && string(data) == oldCommitMsgHook {
verbosef("removing old commit-msg hook")
- os.Remove(filename)
+ if makeChange() {
+ os.Remove(filename)
+ }
}
}
@@ -72,12 +76,16 @@ func installHook(args []string, auto bool) {
verbosef("installing %s hook", hookFile)
if _, err := os.Stat(hooksDir); os.IsNotExist(err) {
verbosef("creating hooks directory %s", hooksDir)
- if err := os.Mkdir(hooksDir, 0777); err != nil {
- dief("creating hooks directory: %v", err)
+ if makeChange() {
+ if err := os.Mkdir(hooksDir, 0777); err != nil {
+ dief("creating hooks directory: %v", err)
+ }
}
}
- if err := os.WriteFile(filename, []byte(hookContent), 0700); err != nil {
- dief("writing hook: %v", err)
+ if makeChange() {
+ if err := os.WriteFile(filename, []byte(hookContent), 0700); err != nil {
+ dief("writing hook: %v", err)
+ }
}
}
diff --git a/git-codereview/review.go b/git-codereview/review.go
index 5660b8d..795cc80 100644
--- a/git-codereview/review.go
+++ b/git-codereview/review.go
@@ -29,6 +29,11 @@ var (
const progName = "git-codereview"
+// makeChange returns inverse of noRun for readability.
+func makeChange() bool {
+ return !*noRun
+}
+
func initFlags() {
flags = flag.NewFlagSet("", flag.ExitOnError)
flags.Usage = func() {