GroundControl Videos

I have finally managed to get the fabled groundcontrol instructional videos uploaded and linked into the website. For all those who are curious as to exactly what the point of groundcontrol is or didn’t quite know how to use it; I invite you to watch me explain and show how everything works:

Your comments are welcome.

Ground Control 1.6 and Website

Hey everyone,

I’m pleased to announce the release of Ground Control 1.6, these feature features minor improvements and fixes but the main change is fixing the launchpad openid problem that stopped all new users of ground control from enjoying the integration.

I’m also pleased to announce the new ground control website which was very kindly designed by Brett Alton and produced by myself for this release. You can get the new version 1.6 from the download link on the website and please do use the Latest / PPA as the version in Lucid is 1.5 and still suffers from the launchpad openid login bug.

Any thoughts and comments please post them here, but any bugs please post them to the launchpad bug tracker.

Ground Control 1.5 – Custom Scripts and Bug Fixes

Dear opportunistic developer community, I’m proud to release version 1.5 of ground control. This new release features a lot of stabilisation and bug fixing. We’re now much more careful about showing buttons when your not online, so don’t be surprised if you don’t see any buttons and your not connected to the internet. Only some buttons are offline use.

Some of you may also not see any buttons because we had to remove the use of XDG_PROJECTS and now we need a .groundcontrol file to exist in any directory you want to see project buttons. Don’t blame us, Debian maintainers have been really harsh to the functionality of ground control and it’s basically because we do odd things to make it easier.

But also some extra features such as the custom buttons that project maintainers can opt into. If you look at the screen-shot on the right, you’ll see that the ground control branch has two new buttons that are unique to the ground control trunk branch and you won’t see them in any other project code base. They are in italic and say “Test This Branch” and “Make Release”, these two buttons are actually scripts which help developers build and release the code base and each code base is going to be different.

If you would like your project to be able to take advantage of these buttons you simply create a .gcfunctions file in the root of your code/branch and fill it with yaml content like the example below, make sure that the scripts you reference are functional and do what you need to. I’d also advise not having more than a few buttons at any given time.

Format of file .gcfunctions:
  name: Button Text
  command: ./scripts/to/
  show-in: [any|code-locked,code-modified,code-modified,code-commited,code-mergereq,code-uploaded,code-none,code-checkout]
  offline: [False|True] (shows button if offline if True)

  name: Make Release
  command: ./scripts/build/
  show-in: code-none
  offline: False
  name: Test This Branch
  command: ./scripts/build/
  show-in: any
  offline: True

I hope you enjoy this release and I can be more certain now that more people will be able to enjoy it without problems. But if you do find yourself experiencing bugs, do hop over to the launchpad bugs report area and write down your issues. Be sure to include logs (create a ~/groundcontrol.log file in your home folder to contain the logs) and give all the steps you used to reproduce the problems.

Ground Control 1.4 – Coloured Diffs a Merging In

Hey everyone! I’m proud to release version 1.4 of ground control into the wild.

You can download the version 1.4 at my PPA or keep up with the daily builds of the ground control trunk (which may not always work)

So to the features in this release… We have exclent news for people like Benjamin of the ubuntu manual project, who wanted the ability to download a branch that’s owned by a group your a member of. It also should allow you to manage your project when your to primary developer.

We have the ability to merge in requests when you are the primary developer, this is marked by your branch directory having the same parent url as it’s push location. This merge request will show a list of branches with merge requests outstanding, so you don’t have to dog through and remember which branches have merge requests.

We also have a wonderful commit diff that you can see in the screenshot, what I’m done is I’ve reused the wonderful work done by the bzr-gtk developers and simply created one of their diffing windows inside of the commit window instead of making my own. This saved an aweful lot of development time, working out how to colour it in using your gedit preferences.

There are also a large number of other fixes which should help. but the majority of this release is for project managers and project owners to deal with the larger number of requests coming in thanks to ground control.

Do test and do let me know what you think, I enjoy hearing when people are using it and finding it useful.

Ground Control 1.3 – Added Bug Fixing

Yes, we got a great set of features in this release of ground control, as well as the regular set of fixes for problems that seemed to crop in last time. Thanks to everyone who reported to bugs and kept me on my toes fixing them.

You can download the version 1.3 at my PPA or keep up with the daily builds of the ground control trunk (which may not always work)

So what do we have? well as you can see from the screenshot we have a new feature where you can search for bugs in launchpad and attach them to commits, much like you would use –fixes= on the command line. The difference is that the search feature makes it easy to pinpoint the exact bug you need.

Not only that, but we now have the Jono Baon inspired bug fix work-flow, there is a new button on the projects and project view which allows someone to search for a bug and then let the code do all the hard work of downloading the right branch of code and giving it an appropriate work-name. Then when your finished fixing the code, there is just a simple one button which commits, pushes and merges into launchpad including attaching the bug you originally specified.

If the bug you selected has a project assigned which doesn’t have a default development focus, then it’ll bring up a branch selection so you can choose which branch you should fix the bug in.

So we need testing of both of these new features, as well as testing of existing features which have been there for a few releases. Obviously we’re trying to make sure everything is stable for the 18th Feb (only 11 days away) so we need your immediate assistance in picking out problems with the release.

And I have to say that I’ve been loving the encouragement from you guys, I’m glad yu like this work and can see value it in being done.

GC: Added Functions

One of the ideas for allowing branches to have extra functionality is the addition of some kind of functionality which adds buttons for doing extra stuff to a branch.

For instance if you have a Makefile type project, then instead of ground control detecting that and presenting a ‘compile’ button, we’d let the author of the branch decide to offer that to ground control users and they could add a script call to a file in say .gc_methods with an appropriate button label.

This would allow even the learning materials branch to offer a compile feature, while being separate and not tied to ground control per say, the functionality would work though the existing button bar that appears.

This would put the burden of offering such functionality to project maintainers, and if you find a project maintainer who hates ground control, they may not be happy about adding a file full of script pointers to their trunk branch for newbie contributors.

Another option I saw someone mention was some sort of UML file which could specify the internal project workflow and somehow that could be used to help users edit projects correctly.


Two Week Cram

For the next two weeks I’m going to be really busy trying to get ground control ready for going into universe with all the features needed. So it’s likely that I may schedule missing a few days of blog writing so I don’t have any conflicts.

The problem of course is that the 7th Feb is my first anniversary of the blog and especially since I’ll have written every day for a year I’m tempted to just continue writing each day anyway.

Ground Control 1.2 – Merge, Pull and Ignore

For all those who reported that terrible missing branding bug that stopped you getting the code of your favourite projects, the new release of ground control should fix that. It’s also got a whole bunch of other fixes and improvements, including the ability to ignore new files in commits and merge/pull from the parent branch.

For all those that missed my demonstration blog entry, Ground Control is a desktop integration for your launchpad projects. It allows you to collaborate on bazaar branches if an effective and easy to follow way by removing or making smart most of the difficulties that stop contributors on the command line.

Do go check out the demonstration of version 1.0, it’s still got the core concepts and then you can download it via my ppa and enjoy checking out project code from nautilus.

Update: There was a configuration bug that’s now fixed, please try again if your attempt to use it got stuck ont he launchpad configuration.

Ground Control gets i18n

A big thank you to both Andrew Starr-Bochicchio and Ddorda for working on the internationalization of the ground control project, the work is on going and the english is likely to change as we come up to these first release milestones, but I’ve excited to see such great work.

We have the pot files automatically uploaded to launchpad and ready for translation, I’m still not sure if it will work since I don’t have any translations yet. But I’m very confident that the code we have so far should work as expected.

Concerning right to left languages (Semitic languages: Arabic and Hebrew) we know that there exist a number of problems where word wrapping problems mean words are off the screen and you have to scroll to them. It’s possible that if you do translations you’ll find more of these kinds of bugs.

So please do report bugs about errors in language translation.

Ground Control 1.1 – Inital Problems

Some good news, I just pushed up version 1.1 of ground control with lots of bug fixes and some of the simpler feature requests. We’re still looking for someone who knows how to do python i18n support and more testers to make sure it works. I’ve released this version for jaunty, karmic and lucid, so no excuses not to give it a try.

I also added some small icons to pretty it up and there’s a bunch of fixes for the UI as well as crash fixes. Don’t forget to report bugs, more details about reporting bugs and a demonstration how to use ground control here: ground-control-demonstration