golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
123.98k stars 17.67k forks source link

x/tools/cmd/godoc: not work with symbolic links #7093

Open gopherbot opened 10 years ago

gopherbot commented 10 years ago

by laf163:

What steps will reproduce the problem?
If possible, include a link to a program on play.golang.org.
1.ln -s ~/project/xxx $GOPATH/src/xxx
2.go install xxx
3.godoc -http=:6060

What is the expected output?
visit http://x.x.x.x:6060/pkg can find the package xxx.

What do you see instead?
not found.

Which compiler are you using (5g, 6g, 8g, gccgo)?
6g

Which operating system are you using?
centos6.4 amd64

Which version are you using?  (run 'go version')
$ go version
go version go1.2 linux/amd64

Please provide any additional information below.
rm $GOPATH/src/xxx and copy ~/project/xxx to $GOPATH/src, work properly.
minux commented 10 years ago

Comment 1:

in general, cmd/go and godoc both can't handle symlinks well.
avoid using symlinks if you can.

Labels changed: added repo-tools, release-none.

brianolson commented 8 years ago

This is important to me. I already have a place in my filesystem where I do checkouts of things I'm working on, and I'd like to do the following: mkdir ${GOPATH}/src/myserver.tld cd ${GOPATH}/src/myserver.tld ln -s ${HOME}/my/usual/path/to/my/project .

I'd like to then see the documentation for the thing I'm working on in my godoc server. I have a fix written for this, it's a small change to golang.org/x/tools/godoc/dirtrees.go

The above symlink already works for building! I can use this just fine as import "myserver.tld/project"

Given that, it's incongruous that godoc doesn't also work.

jneo8 commented 5 years ago

If you use gvm linkthis, also have the issue.