Wednesday, May 23, 2007

Garden-Variety Tragedy

A couple of nights ago, a decent-sized storm blew through Austin. It dropped a lot of rain, but didn't seem to cause to much damage. Until we went out to the garden last evening. The supports for the 7-foot trellis which holds our bean broke and the entire trellis blew over onto the neighboring plot. To add insult to injury, about two-thirds of our corn also blew down.

Garden after storm
Heather picking beans from the defunct trellis.

Beans PickedWe ended up spending most of the evening picking what beans we could before taking down the entire trellis, and all the existing bean plants. Tonight, we start again, with new seeds, and a new, lighter and more sturdy trellis design. Chalk another one up to experience.

Thursday, May 17, 2007

Adding --parents

(Note: This is the first in hopefully a long series of more technical articles about the Subversion version control system. If you are one of our less technically inclined readers, feel free to skip it.)

The Subversion command line client is a jack-of-all-trades. For most people, it is their primary method of interacting with a Subversion working copy, and it has to be versatile enough to perform any action a user wants. The svn program itself has several subcommands which are used to invoke different client actions, such as svn add, svn copy, or svn commit. Each of these subcommands can also have a whole plethora of switches and options which affects the way it behaves.

As much as it does, the Subversion command line client often pales when compared to analogous Unix commands. This is understandable, given the extra versioning work that Subversion has to do, but most of our users would like svn cp to behave as close to cp as possible. (Due to Subversion's notion of atomicity, this turns out to be a non-trivial task. Making svn cp *.c dir work as expected is how I first got involved with Subversion development.)

The --parents switch is another feature that recently made its way into Subversion trunk. For Unix cp and mv, --parents will instruct the program to create any non-existent parent directories of the destination. svn cp and svn mv now behave the same way, for both working copy and repository destinations. This is useful if you want to create several nested server-side directories in the same revision, for instance. We've also added --parents sweetness to svn add, which instructs Subversion to recurse up the directory tree looking for a working copy and then version all the intermediate directories between it and the target of the add.

When used in conjunction with the sparse directories work, these features will hopefully allow you to version the exact bits of a complex directory hierarchy, without getting in your way.

Wednesday, May 16, 2007

Super-Mega Summer Roadtrip o' Fun

This summer is shaping up to be quite eventful. In addition to my research and Summer of Code, our family will be travelling a bit, too. My grandparents recently celebrated their 50th wedding anniversary, so we'll be traveling to Utah for a family reunion. Toss in a trip to New York state to see Heather's family, and it'll be a pretty full summer.