shurcooL / Go-Package-Store

An app that displays updates for the Go packages in your GOPATH.
MIT License
900 stars 29 forks source link

Git subtree and vendor experiments support. #47

Closed abourget closed 8 years ago

abourget commented 8 years ago

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.

dmitshur commented 8 years ago

Hi, thanks for the suggestions.

GOVENDOREXPERIMENT support makes sense, but I'm not in a rush to implement it before 1.6. I don't quite like how it's implemented so far, and I'm not using myself because of that.

About git subtrees, that sounds quite custom. I'm not sure how GPS could support that in a very general way. Can you think of a good way?

dmitshur commented 8 years ago

@abourget, Go Package Store supports reading from Godeps.json and vendor.json files via -godeps and -govendor flags respectively.

$ Go-Package-Store -help
Usage: Go-Package-Store [flags]
       [newline separated packages] | Go-Package-Store -stdin [flags]
  -godeps string
        Read the list of Go packages from the specified Godeps.json file.
  -govendor string
        Read the list of Go packages from the specified vendor.json file.
  -http string
        Listen for HTTP connections on this address. (default "localhost:7043")
  -stdin
        Read the list of newline separated Go packages from stdin.

Examples:
  # Check for updates for all Go packages in GOPATH.
  Go-Package-Store

  # Show updates for all dependencies (recursive) of package in cur working dir.
  go list -f '{{join .Deps "\n"}}' . | Go-Package-Store -stdin

  # Show updates for all dependencies listed in vendor.json file.
  Go-Package-Store -govendor /path/to/vendor.json

So it can support /vendor/ directory indirectly if you're using one of those 2 tools to manage your dependencies. Does that satisfy your needs?

dmitshur commented 8 years ago

So it can support /vendor/ directory indirectly if you're using one of those 2 tools to manage your dependencies. Does that satisfy your needs?

As I mentioned above, this is largely done. You can even update dependencies when using -govendor flag as of https://github.com/shurcooL/Go-Package-Store/issues/51#issuecomment-195656608.

I'll mark this issue as resolved, but please let me know if not.