Skip to content

Releases: pote/gpm

gpm in Homebrew!

14 Feb 19:03

Choose a tag to compare

As of today, the homebrew includes a gpm formula, meaning that users can install gpm in a single command, namely:

$ brew install gpm

I'm super happy about it, most of the praise should be directed at @elcuervo who championed the pull request though homebrew's process, if you see him at a conference or anywhere please give him a well-deserved hug, or buy him a beer, he'd like that. :)

In related news: homebrew had a bit of a bad rep with the Go community as the installation formula was not really up to par, I had problems myself installing it this way a few months ago and was forced to install from source.

I'm happy to report that at least now Go seems to work perfectly when installed from homebrew, I'm currently running 1.2 and the installation was a breeze. This should definitely be cause for celebration!

🎆 🎆 brew install go 🎆 🎆

Appropriate error messages and concurrency fix for hg and bzr

13 Feb 18:12

Choose a tag to compare

This minor update includes the following changes:

  • Appropriate error responses on missing go executable.

gpm delegates fetching go packages to the appropriate directories to go get, while it's unusual for somebody using the tool to not have Go installed a gentler error message is never a bad thing

  • Lockfile usage for concurrent Mercurial and Bazaar hosted package installations.

gpm installs all packages in parallel, a pull request by @elcuervo makes sure that an - admittedly rare - race condition is avoided.

Happy gophing! 📦

Gettin' to v1.0! :D

04 Feb 16:49

Choose a tag to compare

This is it! gpm is has finally reached its 1.0.0 version and I honestly couldn't be happier.

I spent a little bit of time over the weekend cleaning it up but I'm still surprised of how close the project is to the 7 lines of bash code that composed it initially. Sure, it's been polished and some features have come and gone but at it's core gpm is still deliciously minimalistic, it accomplishes it's goal in a straightforward way and without any clutter, the codebase is still minimal and easily readable and I've learned quite a few things about bash scripting along the way.

What's in it for the future of gpm? Well, the requirements for go package management are not likely to change, we are currently working on getting gpm to a state where it can be more easily installed/updated across platforms, @elcuervo has been working to get it in homebrew for OS X users and maybe something similar for other platforms could be on the horizon.

As far as future goes I've also released Go Versioning Packager (or gvp for short) which is a separate companion tool for gpm, in short it adapts your environment variables (GOPATH, GOBIN and PATH) to point to a local directory so you can keep the dependencies of your project isolated, it plays well with gpm, I'll probably be tinkering with it in the near future.

I'm really grateful to everyone who has contributed comments, code, upvotes, issue requests, reddit comments or just plain used it, I'm really grateful for the opportunity to solve this problem for other people, it feels great, so once again: thank you everyone!

clap_clap_win
highest_of_fives
i_regret_nothing
im_awesome_ace_ventura
joffrey_approves
ninja_turtles_power_rangers
no_one_should_criticize_me

Contributed by @elcuervo:
gpm_1_0

Simplified API

02 Feb 00:34

Choose a tag to compare

Simplified API Pre-release
Pre-release

Now prettier and simpler to use. :)

Version flag for Homebrew compatibility

23 Oct 21:57

Choose a tag to compare

Users want to be able to install and update gpm using Homebrew, for which it's essential to have a command that outputs the version number of the library.

@elcuervo has been driving the effort, which in turn forces me to think of cleaner CLI options for gpm, win/win for everyone, we'll update when we have news from the homebrew crew. :)

Support for Bazaar and Mercurial repos

05 Oct 23:10

Choose a tag to compare

We've added support for Mercurial and Bazaar repos! This feature had been requested by several users so I'm happy to finally deliver on it.

▸ cat Godeps
# Bazaar Repos
launchpad.net/gocheck                     r2013.03.03
# Mercurial Repos
code.google.com/p/go.example/hello/...    ae081cd1d6cc
# Git Repos
github.com/nu7hatch/gotrail               v0.0.2

▸ gpm
>> Getting package launchpad.net/gocheck
>> Getting package code.google.com/p/go.example/hello/...
>> Getting package github.com/nu7hatch/gotrail
>> Setting github.com/nu7hatch/gotrail to version v0.0.2
>> Setting code.google.com/p/go.example/hello/... to version ae081cd1d6cc
>> Setting launchpad.net/gocheck to version r2013.03.03
>> All Done

Thanks to my partner-in-crime @elcuervo for suggesting a much more elegant approach than my initial implementation, he's the bomb.

-H flag adds the HEAD SHA to the Godeps file.

09 Sep 22:45

Choose a tag to compare

It's usage is not recommended unless the project doesn't use tags for versioning.

▸ gpm -a github.com/bmizerany/pat -H
>> Determining HEAD for github.com/bmizerany/pat
>> HEAD for github.com/bmizerany/pat is  51b7af73e39f6dc59846b22d56ca886d105ef0c3
>> Added to Godeps

Closer to 1.0 :)

Introduces -a flag for package addition to Godeps

10 Sep 16:45

Choose a tag to compare

Now you can call gpm -a github.com/nu7hatch/gotrail and it will automatically look up the latest release for the package and add it to your Godeps file. Pretty handy. :)

$ gpm -a github.com/nu7hatch/gotrail
>> Determining last release for github.com/nu7hatch/gotrail
>> Last release for github.com/nu7hatch/gotrail is v0.0.2
>> Added to Godeps