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.

Wednesday, April 25, 2007

Notes from the Garden

Garden - 4/25One of the benefits of living in the Student Apartments here at UT is the community garden. It was closed for maintenance over the winter, but reopened in mid-March to much excitement from the residents, myself included. The plots aren't big, just 16'x8', but big enough to give me something to do when I'm tired of doing homework and just want to get outside.

This year is kind of an experimental year, as we find out what works, what doesn't and how much of different vegetables we can use. Right now, we've got corn, peppers, pole beans, and two different varieties of tomatoes in the ground. In spite of a record cold spell a few weeks ago, we managed to avoid a freeze, and most of the plants are growing quite well.

Hmm...I can almost taste the fresh corn-on-the-cob now...

Friday, April 13, 2007

Summer of Code '07

I've been fairly active in the development of Subversion over the past few months, and I decided to attempt use this activity as a method of income over the summer. So, I applied to the Google Summer of Code program to work on Subversion, specifically the "Merge Tracking" component that is one of the big features of our next release. My work won't be part of that release, but will build upon those features for the future. It should be a good summer!

(Oh, and many thanks to Google for funding the program.)