bartman's blog

splitting patches with git

Here is a really cool workflow using git… Say you have several commits (you can think of them as patches for this exercise) in your current repository and want to split one into multiple parts. There could be various reaons like upstream request, only want to release part of it, remove debug code, etc. Anyway, there is one commit in your unpublished history that needs to be split.

creating busybox symlinks

Busybox should have a --create-symlinks-in=/sbin feature, but for now… ./busybox --help | grep 'Currently defined functions:' -A30 | grep '^\s.*,' | tr , '\n' | xargs -n1 -i{} ln -s busybox {} update on 2012/03/22: Shawn Hicks points out that this works better (unverified by me): ./busybox --help | busybox grep 'Currently defined functions:' -A30 | busybox grep -v 'Currently defined functions:'|busybox tr , '\n'|busybox tr -d '\n\t'|busybox tr ' ' '\n'|busybox xargs -n 1 ln -s busybox update on 2012/10/07: Nicholas Fearnley further updates the recipe to this:

wmiirc-lua v0.2.5 release

A kind [wmiirc-lua]{tag/wmiirc-lua} user, Sytse Wielinga (sytse on irc), had debugged an old issue in luaixp code I had written for wmiirc-lua. While this bug directly addresses raw mode (Mod4-space), I belive that this will fix a bunch of weird issues so I released v0.2.5. Since v0.2.4 there was also a small bug in the battery plugin that was fixed.

git-svn strangeness

As awesome as git-svn is, I had it fail today with this message: Last fetched revision of refs/remotes/branches/foo was r19307, but we are about to fetch: r19307! To which I said: “WTF?”. I still don’t know what it means, but I can share with you how I recovered it. It turns out that git-svn is quite capable of recovering from this. You just have to remove its meta-data for the offending branch, and resync with SVN.

installing git man pages quickly

I just upgraded git to get a fix for a diff buffer overflow. I built the git binaries, but this box is too slow to rebuild the man pages. Fortunately those are already prebuilt in a separate branch. One way to install them without rebuilding them locally is to: # in a clone of git://git.kernel.org/pub/scm/git/git.git git archive --format=tar origin/man | sudo tar -x -C /usr/share/man/ -vf - … with which I don’t have to rebuild man pages locally. Git rocks!

wmiirc-lua v0.2.4 release

I packaged up the latest modules and bug fixes of [wmiirc-lua]{tag/wmiirc-lua} and made a v0.2.4 release.

Kernel Walkthroughs - booting

Ian just posted the screen casts of the Linux Kernel Walkthroughs that I ran last week.

Linux Kernel Booting

I will be running [another]{linux-kernel-walkthroughs} Linux Kernel Walkthrough for OCLUG at TheCodeFactory next week. This time the topic is “booting”. I am frantically preparing slides using (slightly modified) Rusty’s svg to png presentation scripts. The svg’s are naturally created in Inkscape, and the png’s are useful because I can display them in a regular image viewer like gqview. I’ll write more on this later.

printable OLS/2008 schedule

I found the official schedule really hard to print. Here is a 1-page schedule.pdf and the original OOo spreadsheet.

wmiirc-lua updates

I finally got around to [porting a few old features]{20070112131252} to [wmiirc-lua]{tag/wmiirc-lua}. There is now a mailing list for wmiirc-lua. Subscribe by emailing wmii-lua-subscribe@googlegroups.com.