I've been using git for a while, like it a lot, and finally decided it's time
to move all my Debian packaging work over from CVS. After a frustrating few
hours trying, I gave up on trying to use git-cvsimport. It generates mangled
repositories even for simple packages like sudo. The
git-import-dsc tool in the git-buildpackage package works fine as far it goes,
but I'd really like to preserve my history. So, after some consultation on
IRC, I took a look at parsecvs. It didn't quite work out of the box, either,
but looks promising, and the
author showed an immediate interest in the problems I'm having and offered
to help. So, perhaps I'll be able to use it before long...
In the meantime, a while back I offered to help Gudjon I. Gudjonsson
restructure the sdcc packages so that a DFSG compliant version can return to
main with a full version under a different package name going in
non-free. This is all necessary because some of the assemblers provided
in the package have a non-commercial use clause in the license, and
there are also license
issues with the HTML documentation. I care about this because sdcc is a
build dependency for gnuradio, which I maintain for Debian (it uses the 8051
toolchain to build downloadable code for the USRP, etc). While waiting for
parsecvs to get some love and attention, I sat down this evening to
restructure sdcc and move it to git.
I'm pretty happy with my progress so far, though there's a bit left to do
before uploads happen. Gudjon and I decided to use the
collab-maint
facilities on alioth.debian.org for collaboration, which took me a little
head-scratching to figure out, but looks like a perfect fit for our needs. I
updated the wiki page about
Git on Alioth
with a few of my learnings as I went through the process.
Using git branching to handle non-DFSG-compliant upstream sources is pretty
obvious, the notes in the git-buildpackage documentation helped. Using
pristine-tar to capture the deltas required to regenerate orig.tar.gz files
from the git repo is amazingly cool. It's hard to believe how much friendlier
the world seems when you don't have to drag a bunch of tarballs around with
you to do useful work! And git-buildpackage has suitable options to make
using it pretty automatic. Great stuff!
It's likely to be a few days before I can get back to this, finish up, and
upload the results of this restructuring work. In the meantime, I'm writing
this entry largely to offer my compliments to everyone involved in making
git-buildpackage, alioth, and collab-maint work so well. Special thanks to
Joey Hess, whose pristine-tar package is another in a long line of absolutely
brilliant tools that contribute to making my life easier! I'm going to end up
using it a lot.
[[!tag tags/debian]]