Tags: golang/review
Tags
git-codereview: isolate tests from user's global git config
The test harness creates ephemeral git repositories via gitTest and
runs commands like "git tag work" without a message. When a user has
tag.gpgsign or commit.gpgsign enabled in their global git config, those
settings are inherited by the test repos and cause failures: signed
tags require a message, so "git tag work" aborts with "fatal: no tag
message?".
Rather than disable the specific settings that bite us today, set
GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM to os.DevNull in trun so every
test git invocation runs with no global or system config at all. This
forecloses the entire class of "user config leaks into tests" bugs
(gpg signing, init.defaultBranch, core.autocrlf, custom hooks, signing
keys, aliases, ...) instead of stamping out one symptom.
Tradeoffs worth noting for the interested reader:
- GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM were added in git 2.32
(June 2021), so this raises the minimum git version required to
run the test suite. The tool itself is unaffected.
- trun is also used for non-git commands; setting these env vars
unconditionally is harmless because non-git binaries ignore them,
and keeping the call site unconditional keeps trun simple.
- os.DevNull (rather than a hard-coded "/dev/null") is used so the
isolation works on Windows, where the equivalent path is "NUL".
Change-Id: Iafdef28241c81e30cb4f7898da0e5eeb4b7f0872
Reviewed-on: https://go-review.googlesource.com/c/review/+/772280
Reviewed-by: Carlos Amedee <carlos@golang.org>
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
all: upgrade go directive to at least 1.25.0 [generated] By now Go 1.26.0 has been released, and Go 1.24 is no longer supported per the Go Release Policy (see https://go.dev/doc/devel/release#policy). See go.dev/doc/godebug#go-125 for GODEBUG changes relevant to Go 1.25. For golang/go#69095. [git-generate] (cd . && go get go@1.25.0 && go mod tidy) Change-Id: Id20bf062485b95401ad2d5db8054a0a396ca255c Reviewed-on: https://go-review.googlesource.com/c/review/+/744660 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Pratt <mpratt@google.com> Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Junyang Shao <shaojunyang@google.com>
git-codereview: add matloob@google.com to the mail shortOptOut list So that matloob@golang.org is preferred for git codereview mail -r matloob. Change-Id: I6a6a69643230e022605905c88334a9f865f5ba13 Reviewed-on: https://go-review.googlesource.com/c/review/+/718240 Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
all: upgrade go directive to at least 1.24.0 [generated] By now Go 1.25.0 has been released, and Go 1.23 is no longer supported per the Go Release Policy (see https://go.dev/doc/devel/release#policy). For golang/go#69095. [git-generate] (cd . && go get go@1.24.0 && go mod tidy && go fix ./... && go mod edit -toolchain=none) Change-Id: I2027bac1da172f9a103b6608707d65de65cc1f3c Reviewed-on: https://go-review.googlesource.com/c/review/+/695735 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
git-codereview: frame sync as git codereview sync The codereview binary referred to the sync subcommand as merely "git sync" in a number of places in user surfaces. This was wrong and misleading, so the code now refers to it with the codereview parent subcommand in the name (i.e., a "git codereview sync"). Change-Id: Icf3f96a8c76b57319bc3101b3e9fd0cbd8cecea9 Reviewed-on: https://go-review.googlesource.com/c/review/+/685855 Auto-Submit: Sean Liao <sean@liao.dev> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Sean Liao <sean@liao.dev> Reviewed-by: David Chase <drchase@google.com>
git-codereview: do not write hooks if -n is given 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>
all: upgrade go directive to at least 1.23.0 [generated] By now Go 1.24.0 has been released, and Go 1.22 is no longer supported per the Go Release Policy (https://go.dev/doc/devel/release#policy). For golang/go#69095. [git-generate] (cd . && go get go@1.23.0 && go mod tidy && go fix ./... && go mod edit -toolchain=none) Change-Id: I8369e7520e7c4881978b7dabc9e03f8cd86a3939 Reviewed-on: https://go-review.googlesource.com/c/review/+/649397 Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
README: don't mention GOPATH Add a pointer to the git repo. For golang/go#62645 Change-Id: Ie28be88c7ed4ff3f0f758a7cf8f1c5bf64e5a1f3 Reviewed-on: https://go-review.googlesource.com/c/review/+/624215 Commit-Queue: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
LICENSE: update per Google Legal Very minor tweaks: - Remove (c) pseudosymbol. - Remove "All Rights Reserved." - Change "Google Inc." (no longer exists) to "Google LLC". [git-generate] echo ' ,s/\(c\) // ,s/ All rights reserved.// ,s/Google Inc./Google LLC/ w q ' | sam -d LICENSE Change-Id: I9ac1297e97f67367d42bbe91bc22d8feaa96fa2e Reviewed-on: https://go-review.googlesource.com/c/review/+/598526 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
git-codereview: use --no-ff for sync-branch When working with dev branches, it is possible that a branch needed to be sync'd can be fast-forworded. For example, there is no new commit since the last sync. Or this could happen with multi-release-cycle branches, where we reverse-sync'd to master for one release cycle, later try to sync master to branch for the next cycle. Fast-forwording is generally not what we want (and it confuses the git-codereview tool when trying to craft the CL description). Pass --no-ff to ensure we create a merge commit. Change-Id: Ic204882d0304ec538c2e219d34e370ba98db9374 Reviewed-on: https://go-review.googlesource.com/c/review/+/319069 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
PreviousNext