On Tue, Jul 18, 2017 at 7:27 AM, <
tom....@centralway.com> wrote:
>
> Consider a package with multiple binaries with the same name, "cmd" in this
> case:
>
> pkg1/cmd/main.go:
> package main; import "fmt"; func main() { fmt.Println("pkg1") }
>
> pkg2/cmd/main.go:
> package main; import "fmt"; func main() { fmt.Println("pkg2") }
>
> When running
> $ go install ./...
> I would expect to get an error (or at least a warning) that the binaries
> conflict: there can only be one file called "cmd" in $GOBIN. However, "go
> install ./..." silently ignores the duplicate. One of the binaries "wins"
> and the other is lost.
>
> For reference, the "cp" command in GNU Coreutils prints a warning when this
> occurs:
> $ cp pkg1/cmd/main.go pkg2/cmd/main.go .
> cp: will not overwrite just-created './main.go' with 'pkg2/cmd/main.go'
>
> Would the Go team be interested in a fix for this?
Sure. Thanks.