Building simplicidade.org: notes, projects, and occasional rants

More about Trac and Darcs

Previously, I was using a setup with Tailor to see my darcs repositories with Trac.

It works ok, but there are some issues, the most annoying one is that the commits don’t preserve the original author in the meta-data of the change-set, only in the comment. So, all the SVN change-sets you see in trac are made by the user under which you run tailor, and in the comment with each changeset you have something like:

Tailorized "bugfix: make sure curso_id is in the stash" 

Original author: Pedro Melo <[email protected]> 
Date: 2005-10-06 08:00:11 

Not that nice.

In the process, I discovered the trac+darcs project (also mentioned by Shae Erisson in the comments of the original story) and started peeking from time to time, to see how it was. And tonight I had some hours to kill, so I upgraded my 0.8.4 Trac install to the latest trac+darcs version.

The upgrade consists mainly about following these two pages: the Trac Guide about upgrade, and the Trac+darcs install page.

In my case, this commands took care of things:

# remove old trac
rm -rf /usr/lib/python2.3/site-packages/trac /usr/share/trac

# upgrade to new version
# note: me thinks darcs get --partial is faster in the next command...
cd
darcs get http://artiemestieri.tn.it/~lele/projects/trac+darcs
cd trac+darcs
sudo python ./setup.py install

# and now convert your trac environments
# for each one, do
trac-admin . upgrade
trac-admin . resync
trac-admin . wiki upgrade

I was very well impressed: it went beautifully well, I could still see my SVN repos of current projects, and after changing the configuration of a new project from SVN to darcs, and using trac-admin . resync in the trac environment directory, I could see all my darcs change-sets in glorious detail.

With this upgrade, the Trac version is now 0.9pre2 with all the goodies, and I also installed the WebAdmin plugin (nice), the AutoNav macro (simple and effective; must also try the TracNav macro) and the LegendBox processor (the version online did not work with 0.9pre2, but I fixed and uploaded a new version that does work).

Please note that the trac+darcs project also supports Bazaar-NG repos, but I don’t use them, so I don’t know how well it works.

All in all, a smooth upgrade, recommended to all the darcs users everywhere.

Kudos to Lele and Zooko for such a nice system.