x/review/git-codereview:在Go仓库中工作时,如果存在,请使用其bin/gofmt,

ncecgwcz  于 6个月前  发布在  Go
关注(0)|答案(8)|浏览(42)

gofmt在Go 1.11中发生了变化,而git-codereview使用的是$PATH中的gofmt,所以当它是Go 1.10版本时,它会抱怨为git-codereview: gofmt needs to format these files (run 'git gofmt')
它应该使用GOROOT中的gofmt。

11dmarpk

11dmarpk1#

https://golang.org/cl/130695提到了这个问题:git-codereview: add -g flag to the gomft command

t1qtbnec

t1qtbnec2#

它应该使用GOROOT中的gofmt。这对我来说并不明显。为什么在这种情况下,GOROOT比PATH更好?
我们费尽心思告诉人们不要设置GOROOT环境变量,因为它是导致严重困惑的主要原因。(这是@davecheney最喜欢的一个。)而且记住它们所构建的工具链的工具真的很令人沮丧。
在我看来,在你的PATH中使用gofmt是最好的可用解决方案。或者最多修复#27166,然后使用该结果。

huwehgph

huwehgph3#

这似乎需要进一步讨论。适当地重新标记。

8zzbczxx

8zzbczxx4#

我们费尽心思告诉人们不要设置GOROOT环境变量
我猜@FiloSottile的意思是类似于go env GOROOTruntime.GOROOT(),如果未设置,它们都会自动检测目录。虽然我通常同意Josh的观点,但我们告诉人们,要“选择”应该使用的Go版本,他们应该修改PATH,以便go执行他们想要的版本。为什么gofmt应该不同?

r8uurelv

r8uurelv5#

git-codereview 意味着你正在向你正在工作的仓库提交代码。如果该仓库是 go tree,你应该使用它附带的 gofmt。

axkjgtzd

axkjgtzd6#

好的,这仅适用于Go仓库本身,使用该克隆的bin/gofmt。如果在git-codereview中特别处理它是可以的,这似乎合理。我认为原始问题标题在谈论GOROOT时有点令人困惑。

az31mfrm

az31mfrm7#

同意,那是一个措辞不当的意图。

szqfcxe2

szqfcxe28#

请根据上述讨论的逻辑更新CL,谢谢。

相关问题