monotone plugin for indefero (updated)

I’ve started hacking on a monotone plugin for indefero – a source code / project management tool which supports various SCM backends. You can find the code for it on github (git, because, well, indefero uses git…).

While there are a couple of web-related tools for monotone, namely TracMonotone and ViewMTN, both projects haven’t seen many updates over the last couple of years and are now even maintained by a single person who has not much time either. Having very good and broad tool support is however crucial for an SCM system, because only very few people are willing to use the command line for everything, so I hope that the addition of indefero as tool which will support monotone in one of its next versions will help both projects a little.

The code is still in alpha state, but one can already browse branches and revisions. My current TODO is as follows:

  • finalize the implementation of the changelog view done
  • make branch names shorter in the UI so they don’t overlap with the tree contents done
  • add automate stdio support for the SCM backend class, so we don’t need to create a separate process for every data request done
  • add automate remote_stdio support (possibly by adding a configuration option which allows either setup)
  • truncate the log message in the tree view to a proper size
  • dynamically change the clone url to the branch which the user is currently browsing done
  • check the inTags() and inBranch() implementations – apparently this does not work as it should done

Especially the multi-project nature of indefero requires some additional hacks in monotone and also one of its tools, usher (which is able to serve multiple distinct databases over one connection), so this plugin project really drives a lot of development. If you’re interested in either part and want to team up, drop me a note 😉

guitone 1.0rc3 released

I’m proud to announce the third release candidate of guitone 1.0.
This release fixes some critical bugs and also adds support for
drag’n’drop renames in the workspace amongst other minor improvements.

The complete list of changes is as always listed in NEWS. A Mac OS X
binary is also already available, a package for Windows will follow
tomorrow.

I’m still looking for translators – if you’re interested, please drop me
a note.

openSUSE build service automation

A few weeks ago I’ve hacked together some scripts to use the openSUSE build service as platform for nightly builds. The build is kicked off every hour when something new can be build.

Additionally I’ve created a small PHP client which queries the openSUSE RESTful API and shows packages, binaries, the build log of the last build and a build history.

The code for this is GPL’d and can be cloned via monotone:

$ mtn clone thomaskeller.biz biz.thomaskeller.monotone-nightly

All this could be polished and secured quite a bit more and its even arguable if its a good idea to “misuse” the openSUSE’s infrastructure
for nightly builds like this, but I see it more as a proof of concept. Since their build infrastructure code is open source as well, somebody
can always just setup a build server together with a service and a couple of predefined XEN images and should be good to go.

The concept can now be horizontally applied to other distros and versions as well, basically anything what can run within a Xen instance
(unfortunately this does not include Mac OS X or Windows, so there is still the need for some kind of alternative build infrastructure). I
eventually plan to add a couple of more Xen instances to my project and try to get them build – of course you can be my guest and play with it yourself and lend me a helping hand here 🙂

guitone 1.0rc2 released

I’m proud to announce the immediate release of guitone-1.0rc2. This is the second release in a series of smaller releases which aims at the stabilization of the guitone codebase. A lot of bug fixes went into the code, only a few outstanding issues remain. The addition of an
annotation view is the most visible new feature of this release. Please test and report bugs if possible.

The complete list of changes is written down in the NEWS file as
always. I’ll try and prepare a Windows binary tomorrow, a binary for Mac OS X should arrive shortly as well.