From 7c282ba12a9078eefab1d6e1a42ca8a1ae723737 Mon Sep 17 00:00:00 2001 From: "Bryan C. Mills" Date: Thu, 14 Dec 2023 14:26:20 -0500 Subject: [PATCH] cmd/go/internal/modfetch: simplify a redundant condition In gitRepo.stat, we were checking ref != "" twice, which confused me during casual reading because it made it seem like the string could be empty when it actually never is. For #56881. Change-Id: Ib83303a149ea771399cb55fedd5dfa02ad411ff0 Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest,gotip-windows-amd64-longtest Reviewed-on: https://go-review.googlesource.com/c/go/+/549855 LUCI-TryBot-Result: Go LUCI Auto-Submit: Bryan Mills Reviewed-by: Michael Matloob --- src/cmd/go/internal/modfetch/codehost/git.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/cmd/go/internal/modfetch/codehost/git.go b/src/cmd/go/internal/modfetch/codehost/git.go index 294e50ff1236b9..d3a713223c34c7 100644 --- a/src/cmd/go/internal/modfetch/codehost/git.go +++ b/src/cmd/go/internal/modfetch/codehost/git.go @@ -530,13 +530,7 @@ func (r *gitRepo) stat(ctx context.Context, rev string) (info *RevInfo, err erro if r.fetchLevel <= fetchSome && ref != "" && hash != "" && !r.local { r.fetchLevel = fetchSome var refspec string - if ref != "" && ref != "HEAD" { - // If we do know the ref name, save the mapping locally - // so that (if it is a tag) it can show up in localTags - // on a future call. Also, some servers refuse to allow - // full hashes in ref specs, so prefer a ref name if known. - refspec = ref + ":" + ref - } else { + if ref == "HEAD" { // Fetch the hash but give it a local name (refs/dummy), // because that triggers the fetch behavior of creating any // other known remote tags for the hash. We never use @@ -544,6 +538,12 @@ func (r *gitRepo) stat(ctx context.Context, rev string) (info *RevInfo, err erro // overwritten in the next command, and that's fine. ref = hash refspec = hash + ":refs/dummy" + } else { + // If we do know the ref name, save the mapping locally + // so that (if it is a tag) it can show up in localTags + // on a future call. Also, some servers refuse to allow + // full hashes in ref specs, so prefer a ref name if known. + refspec = ref + ":" + ref } release, err := base.AcquireNet()