February 4, 2008

Experiences with git and pristine-tar

In the last days, I used git very often. It was almost the first time I really used it, but I quickly understand the basic commands.

As some of you may know, the readahead-list package is now maintained in a git repo in the collab-maint project. I decided to use git instead of bzr (which I used for everything before), because of its speed and because I wanted to learn more about git, how it works.

I used git-import-dsc to import the first revision, and used debdiffs from 1 to 2 and from 2 to 3 to import the next revisions. Afterwards, I run git-import-orig on the new upstream tarball, which I downloaded and recompressed. Then, I did the packaging changes, added them using ‘git add changed-file’ and committed them using git commit.

After I had done this, I read Planet Debian and saw Joey Hess’s post about the new features of pristine-tar 0.5, i.e. the integration with git. Running Ubuntu at the moment, I fetched the source package, built it and installed it.

I then opened a shell in my git repo and ran pristine-tar commit path-to-orig upstream/0.20050517.0220 to import the delta for the first tarball. Afterwards I did it for the second tarball.

Because I use git-buildpackage to build the package and Joey said he would like to see support for pristine-tar in git-buildpackage, I then wrote a patch for the programs in git-buildpackage to import and export the orig.tar.gz when needed. The patch can be seen in gitweb, and the maintainer responded in Bug#463580 will integrate the patch with some minor modifications.

Both git and pristine-tar are great works, and it makes it so easy to maintain the readahead-list package. The combination of git, git-buildpackage and pristine-tar is the most powerful I ever used to maintain a Debian package, especially when you are not upstream.

Reactions from Mastodon

Copyright © 2018-2020 Julian Andres Klode, articles licensed under CC BY-SA 4.0.
Comments are provided by Mastodon and copyright of their authors.

This website does not store any personally identifiable information. As part of standard web server access_log logging, it stores requests and the user agents and shortened IP addresses used to make them. It does, however, load some avatars from mastodon.

Powered by Hugo, and the Ernest theme.