Pressflow-6 and Pantheon-Mercury on GitHub (updated x2)


In the past year I've discovered two things:

  • The revision management system Bazaar (aka "bzr") is an occasionally flaky little thing and I've experienced several crashes doing mundane tasks. I much prefer using Git or even Subversion as they've proven to be rock solid in my use of them over the years.
  • The Drupal fork Pressflow has a lot going for it.

However, because Pressflow uses Bazaar rather than Git I've been reluctant to bother trying it. Now that I'm working somewhere that is starting to use Pressflow for production sites I figured it was time to get over the headaches and start contributing.

As my first step towards this goal I've set up what I'm intending to be a semi-permanent mirror of Pressflow-6 on GitHub. While there were two existing mirrors neither of them had been updated yet, so now at least there is an up-to-date mirror of it available. In doing this I am committing to keeping this current for as long as I am using Drupal 6 for work, which should continue through 2011 and probably longer.

I'm also going to see if I can get involved a bit more with the Pressflow group, possibly throw some ideas learned during my days at Bonnier to help improve Drupal 6's performance for high-traffic sites, especially for logged-in users.

One of the most common uses of Pressflow is as part of the larger Pantheon Mercury project, which is a custom OS configuration for making installations of Linux tailored specially for running Pressflow, complete with a reverse-proxy engine and a local install of the Solr search engine. At Bluespark Labs we're standardizing on using this as the basis for all new production installations so it's in my best interests to know how it works and, potentially, contribute to the effort. So, like with Pressflow, my first step towards this is to create a GitHub mirror of the Pantheon project, which I'll try to keep current.

Update: You can also access the repository using Subversion, which can be useful to e.g. use svn:externals to save some steps when updating:

  • svn checkout

Update x2: FourKitchens, one of the leaders in the Pressflow group, have announced their own official git and svn mirrors of the bzr repository:

Why Trac sucks


Reasons to use Trac:

  • It has been around for ages so it's pretty well known.
  • It works with Subversion.
  • Built-in Wiki.
  • The milestones system works fairly well.

Why Trac sucks, IMHO of course:

  • It's written in Python, a language I currently don't know nor have a (current) inclination to learn.
  • It doesn't do git without a plugin.
  • How do I get email notifications when something's changed in the wiki?
  • How do I get email notifications when code changes are uploaded?
  • Each project you want to manage with it gets its own separate install, which is very klunky. You have to log into each one separately (unless you set up a shared authentication system of some sort in the web server).
  • Each project only gets one repository.
  • The interface is klunky, e.g. clicking View Tickets brings you to a page where you first have to choose your filter rather than just loading the last one used or a default.
  • No task associations so you can't do a parent-child dependency to indicate a completion hierarchy.
  • The interface should allow for trag-n-drop changing of priorities.
  • It isn't github or unfuddle or Redmine :)

Personally I recommend github for public projects where you don't need task management (I don't like Lighthouse), Unfuddle for closed projects or where you want good task management for your open project, or Redmine if you want full control and to host it all yourself.

Just thought I'd share that.

git-svn *does* work on Windows!


Huge thanks to the msysgit team for their hard work, because after some testing I've discovered that their git/git-svn port does work, whereas trying to get it working under Cygwin is a quite broken right now. Got git it!

Note: You need to get the Git-1.5.5-preview20080413.exe release if you want to try git-svn, the Git- release has a broken git-svn.


Subscribe to git