Breathe in … and Release
I wouldn\’t say I disagree with Jack Unrue\’s statement about releases being necessary, but I think there\’s a way to make both groups happy (and maybe I should just get around to implementing it). If the no-release crowd thinks that we don\’t need to indicate functionality changes in some way, there\’s still an impasse. If that\’s not the case, I may have a solution.
We all know that a URL doesn\’t have to point to a file, so what if
http://example.com/releases/my-library_0.3.4.tar.gz created the archive on the fly? It would be built from the \”my-library\” repository, using the tip of the \”0.3.4? branch, using
tar -cz (if the user had typed \”.tar.bz2\” on the end, it would have used
tar -cj). You can, of course, cache the archive (just check to make sure there are no new commits since the last build).
What are the benefits of this? Well, the developers don\’t need to explicitly build release packages. Also, any bug fixes that get merged into the branch are included whenever the next person requests that archive. It gives the user the same interface that they\’re used to. It works fine with ASDF, etc. (as long as you remember to set the
latest tag on your current branch).
Actually, this may work better as a commit hook than being pull-based. This should be pretty trivial to build for any specific source control system. Maybe it\’s my project for this evening.