Monday, August 11, 2008

100 Pushups: Week 5 (take 3), Day 1

Last week was a bust. I just had too much going on, and either forgot about doing pushups or didn't have time. So I'm repeating week 5 again this week. And it's not looking too good so far:

Column 3

Level 1: 40/40
Level 2: 32/32
Level 3: 30/30
Level 4: 15/25
Level 5: 28/min 40

Not a very good performance. Hopefully Wednesday will be better.

Tuesday, August 5, 2008

100 Pushups: Week 5 (again), Day 1

Column 3

Level 1: 40/40
Level 2: 32/32
Level 3: 30/30
Level 4: 25/25
Level 5: 40/min 40

I did wait longer than 60 seconds before level 5.

Friday, August 1, 2008

Subversion, Vendor Branches, and svn-load

A while back, Ross Burton wrote an excellent tutorial for using vendor branches in subversion. I used this tutorial, or one like it, about a year ago when adding a vendor branch to one of my own projects, jpilot-icalendar.

A few days ago, I needed to update jpilot-icalendar with a new vendor version. I couldn't remember exactly how to do that, so I googled "subversion vendor branches" and found Ross's tutorial. As I was going through the steps, I discovered that svn_load_dirs was no longer installed on my system. I assumed this was a casualty of my recent hard drive failure and started looking for the package it belonged to so I could reinstall it. After a bit of digging, I found to my horror that svn_load_dirs had been removed from the Debian subversion-tools package. There was mention of an svn-load command, which "should function as a drop in replacement."

I couldn't find any documentation on svn-load, so I setup a test subversion repository to test it. I am happy to report that it does seem to be a drop in replacement for svn_load_dirs, at least to the extent that I used it.

Here is how I originally imported the vendor source:


$ svn import libical-0.23 \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/current \
-m "Importing libical-0.23"

$ svn copy \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/current \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/0.23 \
-m "tagging libical-0.23"

$ svn copy \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/current \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/trunk/libical \
-m "bringing libical-0.23 into main branch"


Then I updated to libical-0.24-RC4:


$ svn_load_dirs \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical \
-t 0.24-RC4 current libical-0.24

$ svn merge \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/0.23 \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/current \
libical


That brings me up to a few days ago, when I wanted to upgrade to libical 0.31. Here is how I did that:


$ svn-load \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical \
-t 0.31 current libical-0.31

$ svn merge \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/0.24-RC4 \
https://jp-icalendar.svn.sourceforge.net/svnroot/jp-icalendar/vendor/libical/current \
libical


As promised, the svn-load command was a drop-in replacement for svn_load_dirs.

Edited 08/02/2008 11:11AM EST:Fixed layout again, after reading this handy guide.

100 Pushups: Week 5, Day 3

Column 2

Level 1: 16/16
Level 2: 16/16
Level 3: 14/14
Level 4: 14/14
Level 5: 12/12
Level 6: 12/12
Level 7: 10/10
Level 8: 40/min 35