Giter Site home page Giter Site logo

go-package-store's People

Contributors

chemidy avatar dmitshur avatar slimsag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-package-store's Issues

Build failing

Hi,

rev 38743ee fails to build:

go build
# github.com/shurcooL/go/gists/gist7480523
../go/gists/gist7480523/main.go:51: bpkg.ConflictDir undefined (type *build.Package has no field or method ConflictDir)
../go/gists/gist7480523/main.go:52: bpkg.ConflictDir undefined (type *build.Package has no field or method ConflictDir)

Don't use a popup if the program is stopped

I would say a big red warning at the top of the web page would be better. Perhaps disabling all the buttons too, since they would not do anything.

A popup bothers me because it makes my browser jump and I lose what tab I was in. I understand that this tab is now dead and should be closed, but I don't see the urgency and need to do a popup.

tree

This is really useful thanks

Error while "go get -u github.com/shurcooL/Go-Package-Store"

Hi,

I just wanted to try out "Go-Package-Store" but it looks like it doesn't compile:

$ go get -u github.com/shurcooL/Go-Package-Store
# github.com/shurcooL/Go-Package-Store/presenter
src/github.com/shurcooL/Go-Package-Store/presenter/codegoogle.go:121: cannot use "github.com/sourcegraph/go-vcs/vcs".RemoteOpts literal (type "github.com/sourcegraph/go-vcs/vcs".RemoteOpts) as type "sourcegraph.com/sourcegraph/go-vcs/vcs".RemoteOpts in argument to r.(vcsclient.RepositoryCloneUpdater).CloneOrUpdate
src/github.com/shurcooL/Go-Package-Store/presenter/codegoogle.go:134: cannot use commitId (type "sourcegraph.com/sourcegraph/go-vcs/vcs".CommitID) as type "github.com/sourcegraph/go-vcs/vcs".CommitID in field value
src/github.com/shurcooL/Go-Package-Store/presenter/codegoogle.go:136: cannot assign []*"sourcegraph.com/sourcegraph/go-vcs/vcs".Commit to c.commits (type []*"github.com/sourcegraph/go-vcs/vcs".Commit) in multiple assignment

Any idea?

Some operations may block on getting user credentials.

The problem is upstream in go/vcs, but I'll put this here (thanks for the report @rtecco) since it affects Go-Package-Store primarily.

$ go run main.go
os.Getwd() = (string)(...),
    (interface{})(nil)
os.Getenv("PATH") = (string)(...)
os.Getenv("GOPATH") = (string)(...)
GET /index2 HTTP/1.1
Host: localhost:7043
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Connection: keep-alive
User-Agent: ...


Part 1: 0.144675 ms.
Part 1b: 1160.7496720000001 ms.
len(goPackagesInRepo) = (int)(72)
Part 2: 11194.486459 ms.
Part 2b: 2494.448123 ms.
Part 2b: 2918.254531 ms.
Part 2b: 2715.5737160000003 ms.
Username for 'https://github.com': 

What happened is go/vcs shells out to git to perform some operations like get remote branch revision (i.e., git ls-remote --heads origin master), which may block on getting user input for authentication (if git is not configured to use credentials automatically).

Possible enhancements.

  • Have a way to see the list of all packages that (directly or indirectly) depend on the shown repo.
  • Have a way to (safely) remove the shown repo (move it to trash only if there are no local changes).
  • Display errors when doing go get -u -d in some way?

Errors after/during updating a large package.

The first error, translated into a string, was:

package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/x11: cannot find package "code.google.com/p/rog-go/x11" in any of:
    /usr/local/opt/go/libexec/src/pkg/code.google.com/p/rog-go/x11 (from $GOROOT)
    /Users/paul/go/src/code.google.com/p/rog-go/x11 (from $GOPATH)
    /Users/paul/go/src/github.com/shurcooL/Go-Package-Store/src/code.google.com/p/rog-go/x11
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports exp/draw: unrecognized import path "exp/draw"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports exp/draw/x11: unrecognized import path "exp/draw/x11"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports netchan: unrecognized import path "netchan"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/encoding/values
    imports code.google.com/p/rog-go/encoding/values
    imports code.google.com/p/rog-go/encoding/values: no buildable Go source files in /Users/paul/go/src/code.google.com/p/rog-go/encoding/values
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/encoding/values
    imports code.google.com/p/rog-go/exp/abc
    imports container/vector: unrecognized import path "container/vector"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/encoding/values
    imports code.google.com/p/rog-go/exp/abc
    imports code.google.com/p/rog-go/exp/abc/audio
    imports code.google.com/p/rog-go/exp/abc/basic
    imports code.google.com/p/rog-go/exp/breader
    imports code.google.com/p/rog-go/exp/callback
    imports code.google.com/p/rog-go/exp/cmd/errfix
    imports code.google.com/p/rog-go/exp/cmd/godef
    imports code.google.com/p/rog-go/exp/go/ast
    imports code.google.com/p/rog-go/exp/go/scanner
    imports code.google.com/p/rog-go/exp/go/token
    imports code.google.com/p/rog-go/exp/go/parser
    imports code.google.com/p/rog-go/exp/go/printer
    imports code.google.com/p/rog-go/exp/go/types
    imports code.google.com/p/rog-go/exp/cmd/gosym
    imports code.google.com/p/rog-go/exp/go/sym
    imports code.google.com/p/rog-go/exp/cmd/gosym/testfiles/src/test
    imports other: unrecognized import path "other"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/encoding/values
    imports code.google.com/p/rog-go/exp/abc
    imports code.google.com/p/rog-go/exp/abc/audio
    imports code.google.com/p/rog-go/exp/abc/basic
    imports code.google.com/p/rog-go/exp/breader
    imports code.google.com/p/rog-go/exp/callback
    imports code.google.com/p/rog-go/exp/cmd/errfix
    imports code.google.com/p/rog-go/exp/cmd/godef
    imports code.google.com/p/rog-go/exp/go/ast
    imports code.google.com/p/rog-go/exp/go/scanner
    imports code.google.com/p/rog-go/exp/go/token
    imports code.google.com/p/rog-go/exp/go/parser
    imports code.google.com/p/rog-go/exp/go/printer
    imports code.google.com/p/rog-go/exp/go/types
    imports code.google.com/p/rog-go/exp/cmd/gosym
    imports code.google.com/p/rog-go/exp/go/sym
    imports code.google.com/p/rog-go/exp/cmd/gosym/testfiles/src/test
    imports code.google.com/p/rog-go/exp/cmd/websocket-analyse
    imports code.google.com/p/rog-go/exp/cmd/websocket-stress
    imports code.google.com/p/go.net/websocket
    imports code.google.com/p/rog-go/exp/deepcopy
    imports code.google.com/p/rog-go/exp/errorpath
    imports code.google.com/p/go.tools/astutil
    imports code.google.com/p/go.tools/container/intsets
    imports code.google.com/p/go.tools/go/callgraph
    imports code.google.com/p/go.tools/go/exact
    imports code.google.com/p/go.tools/go/gcimporter
    imports code.google.com/p/go.tools/go/types
    imports code.google.com/p/go.tools/go/loader
    imports code.google.com/p/go.tools/go/ssa
    imports code.google.com/p/go.tools/go/types/typeutil
    imports code.google.com/p/go.tools/go/pointer
    imports code.google.com/p/go.tools/go/ssa/ssautil
    imports code.google.com/p/go.tools/oracle
    imports code.google.com/p/go.tools/oracle/serial
    imports github.com/davecgh/go-spew/spew
    imports code.google.com/p/rog-go/exp/example/event
    imports code.google.com/p/rog-go/exp/example/looper
    imports code.google.com/p/rog-go/exp/filemarshal
    imports code.google.com/p/rog-go/typeapply
    imports code.google.com/p/rog-go/exp/filemarshal/rpc
    imports code.google.com/p/rog-go/exp/key
    imports code.google.com/p/rog-go/exp/runtime/debug
    imports code.google.com/p/rog-go/exp/stamp
    imports code.google.com/p/rog-go/exp/stquery
    imports code.google.com/p/rog-go/exp/stringfs
    imports code.google.com/p/rog-go/extern/draw
    imports code.google.com/p/rog-go/extern/x11
    imports code.google.com/p/rog-go/go9p/g9p
    imports code.google.com/p/rog-go/go9p/g9pc
    imports code.google.com/p/rog-go/go9p/g9pc/examples
    imports code.google.com/p/rog-go/go9p/g9plog
    imports code.google.com/p/rog-go/macaroon
    imports code.google.com/p/rog-go/macaroon
    imports code.google.com/p/rog-go/macaroon: cannot find package "code.google.com/p/rog-go/macaroon" in any of:
    /usr/local/opt/go/libexec/src/pkg/code.google.com/p/rog-go/macaroon (from $GOROOT)
    /Users/paul/go/src/code.google.com/p/rog-go/macaroon (from $GOPATH)
    /Users/paul/go/src/github.com/shurcooL/Go-Package-Store/src/code.google.com/p/rog-go/macaroon

The second error is slightly different, despite being related to the same package,

package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/x11: cannot find package "code.google.com/p/rog-go/x11" in any of:
    /usr/local/opt/go/libexec/src/pkg/code.google.com/p/rog-go/x11 (from $GOROOT)
    /Users/paul/go/src/code.google.com/p/rog-go/x11 (from $GOPATH)
    /Users/paul/go/src/github.com/shurcooL/Go-Package-Store/src/code.google.com/p/rog-go/x11
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports exp/draw: unrecognized import path "exp/draw"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports exp/draw/x11: unrecognized import path "exp/draw/x11"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/peter-rabbit
    imports github.com/patrick-higgins/summstat
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports netchan: unrecognized import path "netchan"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/peter-rabbit
    imports github.com/patrick-higgins/summstat
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/exp/abc
    imports container/vector: unrecognized import path "container/vector"
package code.google.com/p/rog-go/canvas
    imports code.google.com/p/freetype-go/freetype
    imports code.google.com/p/freetype-go/freetype/raster
    imports code.google.com/p/freetype-go/freetype/truetype
    imports code.google.com/p/rog-go/values
    imports code.google.com/p/x-go-binding/ui
    imports code.google.com/p/rog-go/cmd/apipe
    imports code.google.com/p/goplan9/plan9
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/client
    imports code.google.com/p/rog-go/cmd/bounce
    imports code.google.com/p/x-go-binding/ui/x11
    imports code.google.com/p/rog-go/cmd/calc
    imports code.google.com/p/rog-go/cmd/ec2
    imports launchpad.net/goamz/aws
    imports launchpad.net/goamz/ec2
    imports code.google.com/p/rog-go/cmd/godeps
    imports code.google.com/p/rog-go/cmd/hello
    imports code.google.com/p/rog-go/x11
    imports code.google.com/p/rog-go/cmd/mandel
    imports code.google.com/p/rog-go/cmd/peter-rabbit
    imports github.com/patrick-higgins/summstat
    imports code.google.com/p/rog-go/cmd/pxargs
    imports code.google.com/p/rog-go/cmd/rpcreader
    imports code.google.com/p/rog-go/ncnet
    imports code.google.com/p/rog-go/ncrpc
    imports code.google.com/p/rog-go/cmd/shape
    imports code.google.com/p/rog-go/cmd/share
    imports code.google.com/p/rog-go/cmd/share2
    imports code.google.com/p/rog-go/cmd/showdeps
    imports github.com/kisielk/gotool
    imports code.google.com/p/rog-go/cmd/stackgraph
    imports code.google.com/p/rog-go/cmd/timestamp
    imports code.google.com/p/rog-go/cmd/trampoline
    imports code.google.com/p/rog-go/fakenet
    imports code.google.com/p/rog-go/loopback
    imports code.google.com/p/rog-go/deepdiff
    imports code.google.com/p/rog-go/exp/abc
    imports code.google.com/p/rog-go/exp/abc/audio
    imports code.google.com/p/rog-go/exp/abc/basic
    imports code.google.com/p/rog-go/exp/breader
    imports code.google.com/p/rog-go/exp/callback
    imports code.google.com/p/rog-go/exp/cmd/errfix
    imports code.google.com/p/rog-go/exp/cmd/godef
    imports code.google.com/p/rog-go/exp/go/ast
    imports code.google.com/p/rog-go/exp/go/scanner
    imports code.google.com/p/rog-go/exp/go/token
    imports code.google.com/p/rog-go/exp/go/parser
    imports code.google.com/p/rog-go/exp/go/printer
    imports code.google.com/p/rog-go/exp/go/types
    imports code.google.com/p/rog-go/exp/cmd/gosym
    imports code.google.com/p/rog-go/exp/go/sym
    imports code.google.com/p/rog-go/exp/cmd/gosym/testfiles/src/test
    imports other: unrecognized import path "other"

Followed by,

ExternallyUpdated code.google.com/p/rog-go/...
done code.google.com/p/rog-go/...

Missing "package"

$ go get -u github.com/shurcooL/Go-Package-Store
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v1
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/Go-Package-Store/presenter
    imports github.com/shurcooL/go/exp/12
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist5258650
    imports github.com/shurcooL/go/gists/gist5892738
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports github.com/shurcooL/go/gists/gist5504644
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/gists/gist7519227
    imports github.com/shurcooL/go/gists/gist7519227
    imports github.com/shurcooL/go/gists/gist7519227: cannot find package "github.com/shurcooL/go/gists/gist7519227" in any of:
    /usr/local/go/src/pkg/github.com/shurcooL/go/gists/gist7519227 (from $GOROOT)
    /Users/sk/mirror/go/src/github.com/shurcooL/go/gists/gist7519227 (from $GOPATH)
    /Users/sk/go/src/github.com/shurcooL/go/gists/gist7519227
$ 

On a stylistic note, "gist7519227" is a rather meaningless name for a package, and that huge list of external gist "packages" creates exactly the brittleness seen here.

Package entries nest inside of each other

When opening the tool inside a browser (in my case, Chrome v44.0.2369.0 dev, although it shouldn't make too much of a difference if you use another browser), the box for each package seems to nest inside the change list of the one above it.

Nesting packages

Watching the console output, I keep seeing the following block (repeats for each package it queries for)

2015/04/20 12:25:33 t.Execute: template: repo.html.tmpl:37:102: executing "repo.html.tmpl" at <.Comments>: can't evaluate field Comments in type presenter.Change
2015/04/20 12:25:33 http: multiple response.WriteHeader calls

Some gopkg.in repos produce "no HEAD branch" error.

I got the following:

skipping "gopkg.in/sourcemap.v1" because of remote error:
        no HEAD branch

I went to the repo, confirmed it was on master tracking origin/master, did a git pull and it worked, pulling a few new commits that hadn't been fetched yet.

Also confirmed that HEAD exists and points to the same commit as master.

What could have caused that error?

Even after doing those commands and being up to date, I still get the same error. I can give you a full copy of the repo clone in this state that triggers the bug.

UI elements moving across the screen considered harmful

When I click on "update", the repo item moves to a separate section. This has two inconvenients:

  • It is racy. If I click these buttons faster than they can sync (i.e. multiple running at a time), sometimes they don't move properly and stay in the "to update" section.
  • It makes reading worse. I can't read commits properly if text is jumping up and down (e.g. if I click "update" on the first and go read the second)

To fix both, I instead suggest that each element is changed somehow, instead of moved around. For example, changing "Update" by "Done" or simply nothing. Colours or other styling could be added to make the difference stand out more.

Add Gitiles presenter.

This would be a good first contribution for anyone interested.

Currently, Go packages hosted by Gitiles have no presenter:

image

That package is hosted at https://code.googlesource.com/gocloud.

According to some Gitiles API docs I found at https://code.google.com/p/gitiles/issues/detail?id=47 and http://www.chromium.org/developers/change-logs, it should be quite doable. Probably want to hit this endpoint:

https://code.googlesource.com/gocloud/+log?format=JSON

)]}'
{
  "log": [
    {
      "commit": "a4c7c3139dc2772ad6c3bb73d0a9236a79063f8c",
      "tree": "68fc07b7dc3b4f4dfefedd1bda6d412ace6f8727",
      "parents": [
        "54626cdede306a92797a87ff48a5634d780ed8a5"
      ],
      "author": {
        "name": "Gary Elliott",
        "email": "[email protected]",
        "time": "Fri Jun 24 09:27:02 2016 -0400"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "[email protected]",
        "time": "Fri Jun 24 18:24:42 2016 +0000"
      },
      "message": "readme: use correct capitalization for Bigtable\n\nChange-Id: I719e3e19df5f1bec1209988bf96ae49842a0afa2\nReviewed-on: https://code-review.googlesource.com/5040\nReviewed-by: Chris Broadfoot \[email protected]\u003e\n"
    },
    {
      "commit": "54626cdede306a92797a87ff48a5634d780ed8a5",
      "tree": "d52020c59102e8075bbcd79beebd9e2e18c3ca31",
      "parents": [
        "1f78490befb2922b5b4d46a8bc4baa03b301f87b"
      ],
      "author": {
        "name": "Ingo Oeser",
        "email": "[email protected]",
        "time": "Tue Jun 07 22:07:57 2016 +0200"
      },
      "committer": {
        "name": "Michael McGreevy",
        "email": "[email protected]",
        "time": "Fri Jun 24 12:08:52 2016 +0000"
      },
      "message": "bigquery: implement missing streaming options\n\nAdded currently possible streaming options:\n* TableTemplateSuffix\n* SkipInvalidRows\n* IgnoreUnknownValues as UploadIgnoreUnknownValues\n\nFixes #273\n\nChange-Id: I290681e9cf393d3347ddb5f24585e81340f6db39\nReviewed-on: https://code-review.googlesource.com/4950\nReviewed-by: Michael McGreevy \[email protected]\u003e\n"
    },
...

Use the github.com/shurcooL/Go-Package-Store/presenter/github presenter as a starting point or example.

Allow updating of govendor/godep packages

Currently if I run go-package-store -govendor vendor/vendor.json I get a list of package updates. The update button is greyed out and has no effect. It would be awesome if it could update the packages. There are varying degrees of how this could be done:

  1. "Update to gopath" only, could update the gopath version of the package or clone it if it doesn't exist.
  2. After that, it could do govendor update github.com/pkg/name/... (or the godep equivalent).

An alternative to running govendor update on each individual update would be a single button to run govendor update +ven on the repo level to pull in all changes in the entire gopath at once. Any of these approaches would be useful. My current workaround is to look at the g-p-s page and do go get -u govendor update +ven by hand.

I am running on github.com/captncraig/labelmaker, which is still very much work in progress.

cc @kardianos

https://github.com and [email protected] equivalence

I'm seeing lots of messages like:

skipping "github.com/prometheus/prometheus" because:
remote URL ([email protected]:prometheus/prometheus.git) doesn't match repo URL inferred from import path (https://github.com/prometheus/prometheus)

Would it be possible for the tool to realize that they are equivalent and follow the origin [email protected]:prometheus/prometheus.git? The go tool seems to be able to handle it - I can do:
go get -v -x github.com/prometheus/prometheus/... even though my origin for $GOPATH/src/github.com/prometheus/prometheus is set to [email protected]:prometheus/prometheus.git, not https://github.com/prometheus/prometheus.

Feature request: Listen in 0.0.0.0

So this app can be used easily in vagrant. Also printing the URL by console to open it manually.

If for security reasons we shouldn't use 0.0.0.0, at least a flag to configure the host and the port would be awesome.

git fast forward failed caused package updated skipped

Here is the output:

cd /home/stardiviner/.go/src/github.com/sourcegraph/srclib
git pull --ff-only# cd /home/stardiviner/.go/src/github.com/sourcegraph/srclib; git pull --ff-only
fatal: Not possible to fast-forward, aborting.

Done.

This invalid fast-forward caused package update failed.

Support install from git (ssh) protocol

Great tool!

I, like many others have my git configured such that go get github.com/someone/somepackage will fetch using the git (ssh) protocol. This is achieved by the following configuration in ~/.gitconfig

[url "[email protected]:"]
    insteadOf = https://github.com/

Installing Go-Package-Store using this mechanic fails with the following output:

➜  ~  go get -u github.com/shurcooL/Go-Package-Store
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/Go-Package-Store/presenter: github.com/shurcooL/Go-Package-Store is a custom import path for https://github.com/shurcooL/Go-Package-Store, but /Users/philc/go/src/github.com/shurcooL/Go-Package-Store is checked out from [email protected]:shurcooL/Go-Package-Store
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports github.com/shurcooL/go/gists/gist5258650: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports github.com/shurcooL/go/trim: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/exp/14
    imports github.com/shurcooL/go/gists/gist5504644: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/exp/14
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/exp/12: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/exp/14
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/gists/gist7651991
    imports github.com/shurcooL/go/gists/gist8018045: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/exp/14
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/gists/gist7651991
    imports github.com/shurcooL/go/gzip_file_server
    imports github.com/shurcooL/go/u/u4
    imports github.com/shurcooL/go/vfs/httpfs/html/vfstemplate
    imports github.com/shurcooL/go/vfs/httpfs/path/vfspath: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v2
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/exp/14
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/gists/gist7651991
    imports github.com/shurcooL/go/gzip_file_server
    imports github.com/shurcooL/go/u/u4
    imports github.com/shurcooL/go/vfs/httpfs/html/vfstemplate
    imports github.com/shurcooL/go/vfs/httpfs/vfsutil: github.com/shurcooL/go is a custom import path for https://github.com/shurcooL/go, but /Users/philc/go/src/github.com/shurcooL/go is checked out from [email protected]:shurcooL/go

It'd be nice to support this setup as its fairly common.

Cheers,

Updating Go packages in large repos may get many more packages.

Currently, Go Package Store executes go get -u host.com/user/repo/... when updating Go packages, the formula being {{RepoRoot}}/....

This is simple, valid and correct. It would be incorrect to update only host.com/user/repo because that may not be a Go package at all, or the user may be using host.com/user/repo/sub/package which in a new version now imports an updated new external dependency that needs to be resolved. go get -u takes care of that.

However, this can cause Go Package Store to end up getting far too many Go packages.

Consider one of your projects importing a single package from a large repo like https://github.com/docker/libcontainer, for example github.com/docker/libcontainer/nsenter. Now suppose that repo has an update, so it will appear in Go Package Store. It will perform go get -u github.com/docker/libcontainer/... which will get the dependencies of all other Go packages in that repo. Next up, you may have updates to those dependencies, which will also get many more dependencies. It's not going to be an infinite recursion, but it does end up fetching many more repos than you might want.

So using a single package out of a large repo can result in you getting many related packages that you may not actually need directly.

I'm thinking about the best way to resolve this issue. I don't want to do something that would not be correct.

Git subtree and vendor experiments support.

What would be awesome is to support the vendor/ folder in the same way.

I use git subtree to handle the things in vendor/.. would be awesome to be able to fetch, compare and see if anything needs to be updated using "git subtree" methods.

Cap max-width of content to something reasonable.

Side note: I'm browsing the web interface from quite a big screen, which makes reading commit messages on the left then navigating to its link on the right a bit tough. ...

I think a better solution would be to cap the max-width of the content to something reasonably sane. Right now there is no cap, which I can imagine would make the changes and commit links unreadable and inconvenient.

Source is #29 (comment).

vcsstore changes

We're going to make some changes to vcsstore, which Go-Package-Store uses to fetch info about some Google Code repos.

We're going to make it accessible via sourcegraph.com/api instead of vcsstore.sourcegraph.com. I'll post back here once that's done and try to put together a PR for G-P-S to use the new endpoint.

Will G-P-S gracefully handle vcsstore downtime in the meantime?

Feature request: present websites using azul3d.org/semver.v1 nicely

Background

The semver package (see GoDoc here) allows people to add support for semantic versioning of Go packages (basically what gopkg.in does) to custom domains (foobar.org/foopkg.v3).

Primarily it does mingling with the go-import meta tag and proxies git requests through the custom domain itself, so the meta tag doesn't contain a known code host (i.e. GitHub/Google Code) in it.

The meta tag for the azul3d.org/audio.v1 package looks like this:

<meta name="go-import" content="azul3d.org/audio.v1 git https://azul3d.org/audio.v1">

Where the "git" repository at https://azul3d.org/audio.v1 actually just proxies requests to github.com/azul3d/audio.

But the actual code host can be any arbitrary one (right now the package supports just GitHub, but it might support others like Google Code or private hosting in the future).

TL;DR

It would be cool if G-P-S could somehow talk with websites using semver to infer where they are hosted and present them as such. Basically:

Import path Hosted at Presented by G-P-S as
azul3d.org/pkg.v1 github.com/azul3d/pkg a normal GitHub package
azul3d.org/madness.v3 code.google.com/p/seperatehost a normal Google Code package
foobar.org/zed.v34-dev code.google.com/p/zeddev34 a normal Google Code package
evil.com private/non-public Git host as G-P-S presents any other generic package

There isn't anything in semver right now that particularly relates a site to any known code-hosting website.

I can add support to semver to show the underlying code host (i.e. the github repository) via e.g. a meta tag, but the question is what would be the best way to communicate this to G-P-S? I am open to any solution.

doesn't install

~ ❯❯❯ go get -u github.com/shurcooL/Go-Package-Store
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v1
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/Go-Package-Store/presenter
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports github.com/shurcooL/go/gists/gist5258650
    imports github.com/shurcooL/go/trim
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/exp/12
    imports github.com/shurcooL/go/gists/gist5504644
    imports sourcegraph.com/sourcegraph/go-vcs/vcs: unrecognized import path "sourcegraph.com/sourcegraph/go-vcs/vcs"
package github.com/shurcooL/Go-Package-Store
    imports azul3d.org/semver.v1
    imports github.com/google/go-github/github
    imports github.com/google/go-querystring/query
    imports github.com/shurcooL/Go-Package-Store/presenter
    imports github.com/shurcooL/go/exp/13
    imports github.com/shurcooL/go/gists/gist7802150
    imports github.com/shurcooL/go/vcs
    imports github.com/shurcooL/go/gists/gist5258650
    imports github.com/shurcooL/go/trim
    imports golang.org/x/tools/go/vcs
    imports github.com/shurcooL/go/gists/gist7480523
    imports github.com/shurcooL/go/exp/12
    imports github.com/shurcooL/go/gists/gist5504644
    imports sourcegraph.com/sourcegraph/vcsstore/vcsclient: unrecognized import path "sourcegraph.com/sourcegraph/vcsstore/vcsclient"

go get throws an error for 'https://azul3d.org/semver.v2/'

Getting this on my 'Ubuntu 14.04.2 LTS'

$go get -u github.com/shurcooL/Go-Package-Store

Cloning into '~/golang/packages/src/azul3d.org/semver.v2'...
fatal: unable to access 'https://azul3d.org/semver.v2/': Failed to connect to azul3d.org port 443: Network is unreachable
package github.com/shurcooL/Go-Package-Store
imports azul3d.org/semver.v2: exit status 128

Some help here please. Thank you in advance.

Silently ignores updates if the tree is dirty

If there are unstaged changes, git may refuse to pull changes from the remote. This is expected and natural.

However, (presumably) due to this, Go-Package-Store has kept my x/tools repo at the state of mid-November. I made a slight change to cmd/stringer back then and left it unstaged. I just ran a git pull manually after cleaning it up and indeed I'm back on the real master.

I suggest that the tool should be more verbose about this. I'm betting other repos in my GOPATH are suffering from similar issues without me noticing. I'll only notice months after, once one of my repos is so old that things start to break (like they just did now with x/tools).

Panic when clicking on update on web ui for a package

go get -u -d code.google.com/p/go.text/...
out = ([]uint8)([]uint8{})
err = (interface{})(nil)
2014/07/09 18:33:39 http: panic serving 127.0.0.1:54019: runtime error: invalid memory address or nil pointer dereference
goroutine 6 [running]:
net/http.func·009()
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x38efc0, 0x851299)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/runtime/panic.c:248 +0x106
main.updateHandler(0x9b0eb8, 0xc2104eed20, 0xc21086c9c0)
    /Users/dleung/www/go/src/github.com/shurcooL/Go-Package-Store/main.go:171 +0x493
net/http.HandlerFunc.ServeHTTP(0x4de770, 0x9b0eb8, 0xc2104eed20, 0xc21086c9c0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1220 +0x40
net/http.(*ServeMux).ServeHTTP(0xc21001ed20, 0x9b0eb8, 0xc2104eed20, 0xc21086c9c0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1496 +0x163
net/http.serverHandler.ServeHTTP(0xc21009fd20, 0x9b0eb8, 0xc2104eed20, 0xc21086c9c0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc210051b00)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1644 +0x28b
go get -u -d code.google.com/p/go.text/...
out = ([]uint8)([]uint8{})
err = (interface{})(nil)
2014/07/09 18:33:41 http: panic serving 127.0.0.1:54132: runtime error: invalid memory address or nil pointer dereference
goroutine 1038 [running]:
net/http.func·009()
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x38efc0, 0x851299)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/runtime/panic.c:248 +0x106
main.updateHandler(0x9b0eb8, 0xc2104eef00, 0xc21086c270)
    /Users/dleung/www/go/src/github.com/shurcooL/Go-Package-Store/main.go:171 +0x493
net/http.HandlerFunc.ServeHTTP(0x4de770, 0x9b0eb8, 0xc2104eef00, 0xc21086c270)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1220 +0x40
net/http.(*ServeMux).ServeHTTP(0xc21001ed20, 0x9b0eb8, 0xc2104eef00, 0xc21086c270)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1496 +0x163
net/http.serverHandler.ServeHTTP(0xc21009fd20, 0x9b0eb8, 0xc2104eef00, 0xc21086c270)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc210198a00)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1644 +0x28b
go get -u -d code.google.com/p/go.text/...
out = ([]uint8)([]uint8{})
err = (interface{})(nil)
2014/07/09 18:33:42 http: panic serving 127.0.0.1:54171: runtime error: invalid memory address or nil pointer dereference
goroutine 1133 [running]:
net/http.func·009()
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x38efc0, 0x851299)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/runtime/panic.c:248 +0x106
main.updateHandler(0x9b0eb8, 0xc2104eec80, 0xc21086cea0)
    /Users/dleung/www/go/src/github.com/shurcooL/Go-Package-Store/main.go:171 +0x493
net/http.HandlerFunc.ServeHTTP(0x4de770, 0x9b0eb8, 0xc2104eec80, 0xc21086cea0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1220 +0x40
net/http.(*ServeMux).ServeHTTP(0xc21001ed20, 0x9b0eb8, 0xc2104eec80, 0xc21086cea0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1496 +0x163
net/http.serverHandler.ServeHTTP(0xc21009fd20, 0x9b0eb8, 0xc2104eec80, 0xc21086cea0)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc210541080)
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
    /usr/local/Cellar/go/1.2.1/libexec/src/pkg/net/http/server.go:1644 +0x28b

Frontend HTML+CSS generation (from simple structured data).

I will have a list of Go packages with updates available. Basically, the following information (originally in Go structs, e.g. here, but converting it into JSON, if necessary, is trivial):

{
    "packages": [
        {
            "importPath": "github.com/BurntSushi/toml",
            "image": "https://1.gravatar.com/avatar/c07104de771c3b6f6c30be8f592ef8f7?d=https%3A%2F%2Fidenticons.github.com%2Fa4f98968984cf211c9cdfdb95e1e4fbd.png",
            "commitMessages": [
                "We want %s since errorf escapes some characters (like new lines), which turns them into strings.",
                "fix go vet warnings",
                "gofmt"
            ]       
        },
        {
            "importPath": "github.com/Jragonmiris/mathgl",
            "image": "https://identicons.github.com/42de14ab90e8c526c5d389a47bede4f5.png",
            "commitMessages": [
                "Added the most important function",
                "Added the most important function",
                "Added the most important function",
                "Added bezier spline interpolation",
                "Minor documentation fix",
                "Added explicit support for quadratic and cubic bezier curves, should be faster than general method",
                "Fixed a few build errors after refactoring",
                "Added basic support for some 2D shapes, bezier curves, and bezier surfaces",
                "Added Euler angle to quat conversion"
            ]
        }
    ]
}

I'm looking for ways to convert that (either on the backend using Go, or frontend) to HTML+CSS that will be rendered by the browser to look something like this (very rough mockup):

image

The "Update" buttons should create a POST request to /-/update with import_path = {{.importPath}}. The "Update All" button would have import_path = {{.importPath}}.

Ideally, I'm looking for the simplest and shortest solution, but also one that is easy to modify.

Help wanted and appreciated. /cc @DAddYE :D

Become a single-page application, render HTML on frontend.

Currently, the Go Package Store app consists of a single piece of functionality displayed on a single page. It finds and presents available updates to Go packages.

It's implemented by rendering the HTML entirely on backend and streaming it to the browser.

This is very simple, pragmatic, and has worked really well for the purposes of GPS so far. There are some minor downsides, like the inability to move completed updates to bottom section while available updates are still loading (see TODO comment).

The current frontend script is very simple, at 76 lines of Go code.

However, in order to be able to expand functionality offered by Go Package Store, implement some of the planned enhancements, and have multiple tabs that can be switched at any time, it becomes no longer viable to render HTML on backend and have a short script.

Instead, I want to move Go Package Store towards a single-page application, render HTML on frontend, and have backend maintain state and provide services.

Error while installing on Windows 7

G:\go_projects\go>go get -u github.com/shurcooL/Go-Package-Store
# cd .; git clone https://azul3d.org/semver.v2 G:\go_projects\go\src\azul3d.org\
semver.v2
Cloning into 'G:\go_projects\go\src\azul3d.org\semver.v2'...
fatal: unable to access 'https://azul3d.org/semver.v2/': error:14077410:SSL rout
ines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
package azul3d.org/semver.v2: exit status 128

go get -u throws errors on codegoogle.go

go get -u github.com/shurcooL/Go-Package-Store
# github.com/shurcooL/Go-Package-Store/presenter
github.com/shurcooL/Go-Package-Store/presenter/codegoogle.go:113: too many arguments in call to sg.Repository
github.com/shurcooL/Go-Package-Store/presenter/codegoogle.go:121: cannot use "sourcegraph.com/sourcegraph/go-vcs/vcs".RemoteOpts literal (type "sourcegraph.com/sourcegraph/go-vcs/vcs".RemoteOpts) as type *vcsclient.CloneInfo in argument to r.(vcsclient.RepositoryCloneUpdater).CloneOrUpdate

go version go1.4.2 linux/amd64

Feature request: a verbose mode that also shows why repos aren't available for updates

I'll start with my motivating story. One day, I somehow wound up with $GIT_WORK_TREE accidentally set in my shell environment when I ran Go-Package-Store. In this state, G-P-S reported that no packages had updates, although a gostatus all in another window showed that they did. Diagnosing this wound up being fiendishly difficult, and eventually I discovered that G-P-S was silently rejecting repos because it thought there were uncommitted changes in every (Git) repo it was checking.

So: What I'd like to see as a feature for Go-Package-Store is a verbose mode where G-P-S reports in some way on repos that it isn't willing to update and why, at least for things like 'uncommitted local changes' or 'can't find the upstream'. I'd be happy with a report that was just printed to standard out, although I think it'd be great if it could be shown in the browser instead (although that's probably more work). If this is too much work, I think it might be good to just add a little postscript to the web page saying something like 'this report excludes repositories with local changes' or the like, because until I went digging into the G-P-S source I actually had no idea that it did this.

(Hopefully what I accidentally did with $GIT_WORK_TREE is rare enough that there's no point in checking for this and similar environment variable mistakes.)

"API rate limit exceeded" errors

I'm getting 403 API rate limit exceeded errors for all GH accesses after I use Go-Package-Store for a while:

2016/01/23 10:40:51 warning: gh.Repositories.CompareCommits:
GET https://api.github.com/repos/fragmenta/fragmenta-cms/compare/1693ff3207b534dfa0c30caebf85a83faa69ecd9...a7331ff3dbf26c0b59c7b067fe001a8880eb6245:
403 API rate limit exceeded for <IP address>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) []

Is this a glitch or is it some limitation in what GH allows? Anybody else seen this?

Add presenter for changelist of "code.google.com/p/..." Go packages.

See presenter.go#L66.

It would need to implement the Presenter interface:

// Presenter is for displaying various info about a given Go package repo with an update available.
type Presenter interface {
    Repo() *gist7480523.GoPackageRepo

    HomePage() *template.URL // Home page url of the Go package, optional (nil means none available).
    Image() template.URL     // Image representing the Go package, typically its owner.
    Changes() <-chan Change  // List of changes, starting with the most recent.
}

But I'm not sure if code.google.com has an API the way GitHub does...

Doesn't adapt to tracking remotes other than "origin"

When I work on someone else's repo to send PRs, I rename origin to upstream and re-add origin as my fork. master alwas tracks upstream/master, as I use feature branches for PRs. Then the result is like, for example:

$ git remote -v
origin  [email protected]:mvdan/go-tools.git (fetch)
origin  [email protected]:mvdan/go-tools.git (push)
upstream        https://github.com/dominikh/go-tools (fetch)
upstream        https://github.com/dominikh/go-tools (push)
$ git status
On branch master
Your branch is up-to-date with 'upstream/master'.
nothing to commit, working tree clean

Even though this setup is completely fine and works, Go-Package-Store insists on using origin instead of the remote that master tracks:

skipping "honnef.co/go/tools" because:
        remote URL doesn't match repo URL inferred from import path:
                  (actual) [email protected]:mvdan/go-tools.git
                (expected) [email protected]:dominikh/go-tools

Is this really what it should be doing?

GO_PACKAGE_STORE_GITHUB_TOKEN doesn't work with Win7

It mentioned that you could use the environment variable GO_PACKAGE_STORE_GITHUB_TOKEN to authenticate your calls. However, that doesn't work in Windows.

I think this is related to this error:

2016/03/08 07:53:08 skipping persistent on-disk caching, because unable to acquire a cache dir: ospath.CacheDir not implemented for windows/amd64
Using all Go packages in GOPATH.
Go Package Store server is running at http://localhost:7043/index.html.

Does this environment variable require CacheDir to work?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.