Showing posts with label subversion. Show all posts
Showing posts with label subversion. Show all posts

Monday, September 12, 2011

Upcoming Subversion 1.7 webinar

In addition to getting to write about the forthcoming Subversion 1.7 release, I'll also get a chance to talk about it in an upcoming CollabNet webinar entitled "Subversion 1.7 — Why You Should Care". To sign up for this free webinar, visit the registration page below:

Subversion 1.7 — Why You Should Care
Date: September 20, 2011
Time: 9-10am US Pacific

Subversion 1.7 article at Dr. Dobbs

I was recently given the chance to write an article for Dr. Dobbs about the forthcoming major release of the software that I spend my days (and some nights, too) working on. If you are interested in version control systems in general or Apache™ Subversion® specifically, or perhaps just enjoy long, dry reads about software used primarily by other software hackers, you can check out my article at http://drdobbs.com/open-source/231500282.

Friday, February 4, 2011

Out of a job. Kinda. (And thankful!)

In 2006, CollabNet, Inc. helped the committership of the Subversion open source project organize and incorporate for the purposes of having a legal entity tasked with protecting that software, its intellectual property, the solidity of its brand, and its general well-being. I was elected as one of the first Directors of the newly formed Subversion Corporation, and served as its Treasurer for the entirety of the Corporation's existence. Today, I can speak in the past tense about that existence because…

Subversion Corporation is dead!

Now that Subversion — I mean, Apache™ Subversion® — is wrapped up in the loving and protective arms of the Apache Software Foundation, there was nothing for the Subversion Corporation to do anyway. So the membership voted to dissolve the corporation, and for the past ten months I've been working with my fellow Directors and the fine lawyerly folks at the Software Freedom Law Center to do exactly that.

So, I guess I'm out of a job now. Or, at least, that job. I'm grateful that the Subversion developer community trusted me with the position I uniquely held for the past four years. But honestly, if the opportunity to do it again came 'round, I think I'd have to decline. I'd much rather be coding.

Long live Subversion! Long live the Apache Software Foundation!

Wednesday, April 14, 2010

Subversion Chat at CollabNet Virtual Conference

Tomorrow, April 15, 2010, CollabNet is hosting its first ever virtual conference. Entitled "Agile ALM for Distributed Development", the fully virtual event is focused around the methodologies and products which make Application Lifecycle Management (ALM) possible and efficient, especially where geographically distributed teams need to collaborate seamlessly.

I'm hosting a "scheduled chat" on Subversion at 7:30am PDT. So, if you're available and online tomorrow around that time, and you'd to chat live with me about Subversion, then do the following:

  1. Register for the conference. (Now! Go do it!)
  2. Login at the appropriate time to the conference using the instructions you receive from the registration process.
  3. Once logged in, visit the "Communication Center".
  4. Click the "Scheduled Chats" item.
  5. Click the "Subversion for the Enterprise" chat item. (It will only become a live link at the time of the session.)

This is a free-form chat with no agenda, so come with your questions. See you there!

Tuesday, March 23, 2010

Subversion Vision Conference in NYC

I'm in New York City for the Subversion Vision Conference. Follow my daily progress reports via the Submerged blog.

Monday, November 30, 2009

Subversion background (leather w/ punched holes ala Betts)

When preparing my presentation for this year's SubConf conference, I was looking for a background that wasn't so … run-of-the-mill. I stumbled upon a post at "The Art of Adam Betts" (at http://www.artofadambetts.com) that advertised a really cool background graphic. After checking the site over to make sure that I could in good conscience make a derivative work from his piece of art, I snagged the sucker and did exactly that:

(Adam, I seriously hope you're cool with this. If not, a thousand pardons and I'll certainly pull this post and any related graphics.)

Friday, November 20, 2009

Revisionist History


Remember the Subversion 1.0 celebration T-shirts? Alas, there are no `svnadmin dump' and `svnadmin load' for cottonware.
As you might have read elsewhere, the Subversion project has recently been accepted in the Apache Software Foundation's Incubator. As part of the process, we'll be migrating all kinds of goodies off of Tigris.org — which has been the project's home (and a good one at that) for the past near-decade — and onto Apache-hosted servers. Last weekend we took the first of those steps by migrating our version control history. I managed the Subversion side of this migration, prepping the data for delivery into the ASF Infrastructure team's able hands.

But I wanted to do more than simply move our Subversion history from one place to another. See, when Subversion began, it was a bunch of source code living in a CVS repository. When the source code compiled into something trustworthy, we let Subversion hold it own source code. (For the record, we were never given cause to regret that decision.) But at the time we made that change, there was no reliable and simple way to convert CVS history into Subversion history like there is with cvs2svn today. So we just exported the latest snapshot of our main development line, imported that into Subversion, and dealt with the severed history. However, this repository migration — which was going to be disruptive anyway — presented an opportunity to stitch together our old CVS history and our Subversion history. So I did. Here's how:

  1. Using cvs2svn, I converted all CVS history to Subversion and deposited it into a temporary repository, svn-from-cvs.
  2. Now, the CVS repository data contained some trailing changes that were created after the switch to Subversion back in 2001. Most of those were commits to www/ (which we manually mirrored for a while based on our Subversion commits to trunk/www/). A couple of them were things like system-wide automated tweaks to www/robots.txt made by CollabNet folk. Also, we had real tags and branches in our CVS repos that we didn't bring with us into Subversion. So I dumped the first 3654 revisions from svn-from-cvs — the pre-switchover changes only — and loaded that into the stitch repository, svn-complete.
  3. To historically preserve the fact that apparently we didn't care too much about those old CVS tags and branches, I committed their deletion from svn-complete (but left the branches/ and tags/ top-level directories themselves).
  4. Since the first revision of our project's Subversion history (in the main svn repository) was a massive import into trunk, that would have clashed mightily being loaded atop already-existing files and directories in svn-complete. So instead checked I out svn-complete/trunk@HEAD, then exported svn/trunk@1 atop it. The local mods were the small delta between what we got outta CVS on August 31, 2001, and what we put into Subversion. They were mostly the result of $Date$ keyword formatting differences. I committed those local mods, which now brought svn-complete into sync with svn@1' except that svn-complete still had empty tags/ and branches/ directories (which were added in r532 and r1237, respectively).
  5. I dumped -r2:531 of svn, loading the result into svn-complete.
  6. I skipped r532 (the revision in which we created our tags/ directory) from svn, instead adding a no-op placeholder revision to svn-complete.
  7. I then dumped -r533:1236 of svn, loading the result into svn-complete.
  8. Once again, I skipped r1237 (the revision in which we created our branches/ directory) from svn, instead adding another no-op placeholder revision to svn-complete.
  9. Finally, I dumped the rest of the svn history (r1238:r40515), loading those revisions into svn-complete.

The result was a single repository (svn-complete) of 44170 revisions (3654 from CVS, 40515 from Subversion, and 1 cleanup revision) that contained all of the Subversion project's version control history, starting with the inception of the project. It's this data that I handed off to the ASF Infrastructure team.

The ASF Infrastructure team took this repository's data and loaded it into the ASF repository (with external commits disabled to prevent interleaved commit history). At the time that this history was loaded into the ASF repository, that repository already had 836419 revisions in it. The next 3655 revisions represent the Subversion CVS history (plus a fixup revision). This means that any historical references found in Subversion's source code, issue trackers, mailing lists, etc. that refer to pre-migration revisions (which are easy to spot, as they are all quite a bit smaller than 800000!) may be found in the ASF repository by adding 836419 + 3655 = 840074 to the revision number.

We as a project are still really finding all the places that this change of address (and revision numbers) will affect us. I can assure you that the last place I expected it to hit was my clothes closet, though!

Wednesday, November 4, 2009

ApacheCon: Where Subversion, Apache, and 100% Cotton intersect

Today during the opening ceremonies of the U.S. ApacheCon 2009 conference, Hyrum Wright (President of the Subversion Corporation) and Brian Behlendorf (a representative of both Apache and CollabNet's Board of Directors) made a joint announcement that the Subversion project was immediately seeking acceptance in the incubation process at the Apache Software Foundation.

Thanks to CollabNet's generosity (and my wife Amy's general coolness about my occasional business-related travel), I was able to be present for this historical event. Also, I was fortunate to have been given the opportunity to design the official commemorative T-shirt of the event:

It's not the cleanest thing I've ever done graphically. I really, really like the striped front. But I was tasked with conveying an awful lot of information (the 10-year anniversary of the ASF, Subversion's fit into the mix of other Apache projects, CollabNet's history as founder and primary corporate sponsor of the project, and so on), and the resulting busy-ness of the back's design unfortunately conveys that fact. Still, not too shabby for short-deadline (like, three days) work.

Tuesday, November 3, 2009

SubConf/Munich 2009

As I compose this, I'm 38,000 feet above sea level and somewhere between Charlotte and Denver, en route (ultimately) to this year's U.S. Apachecon event. Seems it was just yesterday that I was flying home from my last conference event. Perhaps that's because it was just a few days ago that I passed through Customs in Charlotte after the lengthy flight home from Munich, Germany. I'd been in Munich for the third SubConf Subversion user conference. I've had the pleasure of attending the prior two years as well, and this year's event was again a enjoyable one.

After helping to coach Gavin's soccer team to an 8-1 victory last Saturday, I hurried home, grabbed my bags, and was off to the airport. My direct flight from Charlotte to Munich landed Sunday morning around 8:30am local time. A couple of train rides and a short walk later, I was checking into the B & B Hotel, where (I was told) "all the cool kids" — that is, some fellow Subversion developers — were staying. I spent Sunday afternoon getting settled into the hotel and resting, then met up with Hyrum Wright for the express purposes of reprising last year's trip to Berni's Nudelbrett and to plan how we'd invest our time on Monday.

Hyrum and I decided on a trip to Salzburg, Austria for our Monday outing. It was two hours away by train, so we caught the earliest one we could manage. While in Salzburg, we visited the Hohensalzburg Fortress (an 11th-century fortress that overlooks the city), the Residenz State Rooms, Mozart's birthplace, and some other spots in the city. Afterwards, we took a bus out to the town of Grönig, where we rode the Untersberg Cable Car up into the mountains. Wow! Suspended above the earth by a wire the thickness of my forearm, watching as rocky crags passed underneath, I was overwhelmed by the novelty of it all. This was not a normal day in the life of Mike Pilato, to say the least. Our train back to Munich got us in town in time for dinner, which we took at one of the city's many beerhouses. (Thankfully, the locals don't take it too personally when we tourists opts for Coke and Fanta.)

I returned to the hotel around 10:00pm, where two things were waiting for me: a group of Subversion developer colleagues, and a nasty surprise from the SubConf event organizers. It seems that an employee of Polarion who was slated to present an all-day Subversion workshop the following day (Tuesday) fell ill, and then made the poor decision to use email — nice, asynchronous, non-interrupting, unacknowledged email — as his medium for telling the event organizers that he had to bail on the workshop. By the time they realized that they had no one to present the workshop, the organizers had to scramble for assistance. They found me online and asked if I could present the workshop instead. I was completely unprepared to do so, but offered to help as best as I could.

Fortunately, things took a turn for the better when I then went down to the lobby to meet up with my colleagues. While I was bemoaning this situation and my lack of preparedness, the angel Michael — no, not that one; Michael Diers (from Elego) — offered to assist me for the first half of the day-long workshop and to take over entirely in the latter half. And as if that wasn't great enough, I was then presented with the finished results of the T-shirt I designed for the conference:

Tuesday's workshop went pretty well, actually, thanks largely to Michael's familiarity with the topic and ready-on-hand materials. After lunch I was finally able to meet up with several other Subversion developers in a room the conference organizers had arranged for us to occupy for hackathon purposes. We worked for a few hours before heading over to participate as a panel in a Developer Roundtable event — an hour and a half of face-to-face interaction with Subversion users and administrators interested in learning more about Subversion's upcoming features or in solving particular Subversion problems they were having. I love these events for the fact that they serve to remind me that at the other side of every bug report or feature request is another human being who isn't just trying to make work for us as developers but is merely trying to get stuff done.

Wednesday morning, I delivered my keynote presentation, The Subversion Legacy (So Far...). I took the attendees on a brief walk through Subversion's history, beginning with its instantiation as an open-source project by CollabNet and continuing through to the current day, and focusing on aspects of the community and of key events and decisions which have contributed to Subversion's success. Despite the language challenge (most of the attendees were more comfortable communicating in German), I got positive feedback. And with that completed, I was in the clear in terms of obligations to the conference, and joked that I was now able to return to my typical 40% stress level.

I spent the rest of Wednesday and most of Thursday working on Subversion itself in the hackathon room with the other developers. We had occasional breaks to take in presentations by our peers, but mostly spent the time trying to improve the very software that the conference existed to celebrate. Thursday night those of us that remained went to dinner in Munich, sharing a final last few minutes together. A casual onlooker would never guess that we live scattered across the globe, only occasionally seeing each other in person. (In fact, I met one of my CollabNet colleagues for the first time on this trip!)

I traveled to the airport Friday morning with Greg Stein, hopped onto my plane bound for Charlotte, and was fortunate to sleep two-thirds of the flight away. I was greeted in Charlotte on Friday afternoon by my incredible, amazing wife and children. The opening theme of my keynote was about gratitude, and gratitude for good friends and a loving family served as the bookend to that week-long trip to Germany.

Monday, August 3, 2009

SubConf 2009 is in my future

I'm in the process of booking travel and lodging for my October trip to Munich. Yep, it's almost time for the annual SubConf Subversion conference, again. This year, I get to do something new: the keynote! In addition to that, I and some other Subversion developers will be hosting another Subversion roundtable discussion. We did this at last year's conference, and — at least according to the conference organizers — it was a wildly successful opportunity for Subversion's users to talk directly with the folks that write the software they use. If you are a Subversion user or developer who'll be in or around Munich on October 26th, I hope you'll consider joining us for this roundtable discussion. And of course, if you can attend the full conference (October 27-29), I'm sure you'll find it immensely beneficial to you and your organization's understanding, appreciation, and use of Subversion.

Speaking of that keynote presentation, I'd like to offer you the opportunity to help me out with it. (Did you like how I made that sound like it was actually you that would benefit from this?) Check out my post on the Submerged blog about this topic: http://blogs.open.collab.net/svn/2009/08/how-has-subversion-changed-your-world.html

Wednesday, May 13, 2009

ViewVC 1.1.0 (finally) released.

Today, I finally got around to releasing ViewVC 1.1.0.

I know. And you're right — that's not the most uplifting lead-off line ever written for a technical blog. Sounds mostly positive (new release?!), with a hint of exasperation, and all shrouded in a mysterious cloud of why-should-i-care. Sorry about that. But allow me to explain.

ViewVC 1.1.0 represents — maybe misrepresents — three years of development on features introduced since 1.0.0 came out. I'm pretty pleased with the features, many of which were contributed by and/or willingly tested by volunteers. Here's an overview, taken from the official release announcement:

  • Extensible path-based authorization w/ Subversion authz support
  • Subversion versioned properties display
  • Unified markup and annotation views
  • Unified, hassle-free Pygments-based syntax highlighting
  • Subversion svn:mime-type property value honoring
  • Support for full content diffs
  • Standalone server improvements
  • Commits database management and query enhancements
  • Support for per-root configuration overrides
  • Optional email address obfuscation/mangling
  • Pagination improvements
  • ... plus many bug fixes and additional enhancements!

"That's it? After three years' time, that's all we get?!"

It's okay. I've asked myself that a hundred times, too. It's a bummer, but I think I'm learning another hard lesson about open source projects: when a piece of software reaches a certain level of maturity, the developers-to-users ratio tends toward nil.

Before I ever started working on ViewCVS (which was what ViewVC was called at the time), it was already a well-established, widely used piece of software. CollabNet used it to display version control repositories in its CollabNet Enterprise Edition software suite. SourceForge.net was doing the same. It seemed that everybody had a copy of ViewCVS. The software was ubiquitous, worked well, and CVS wasn't changing significantly. And ViewCVS's developer participation reflected this plateau of innovation, too — I think there might have been two or three folks active at the time, mostly just fixing the occasional bug.

Seven years ago, I was tasked by CollabNet to add support for Subversion to ViewCVS. Subversion hadn't even released its 1.0 version at the time. Subversion was still this young, exciting, rapidly developing new entry into the version control world. I (with the help of others) did get Subversion support added to ViewCVS, and along the way I inherited primary maintainer-ship of the project. The project was renamed to ViewVC later to reflect the fact that it was no longer CVS-only, and I began focusing on fixing outstanding bugs and tracking changes in Subversion's new releases.

Fast-forward a few years. Now Subversion's rate of change — at least, in terms of what's of interest to a repository browser tool — is starting to plateau, too. And ViewVC's contribution rate is again reflecting that. Fewer active committers (< 2), investing less time (< 1 day/month), and with fewer volunteer contributions.

It's lonely here.

But it doesn't have to be. There still remain opportunities for improvement in ViewVC. Off the top of my head, I'd say adding support for other version control systems — Mercurial, Git, etc. — is a place where your expertise and effort would be not only appreciated, but required, if only because I don't use those systems myself. Scalability and performance improvements are always welcome. And I'd love to see ViewVC's MySQL integration expanded — why not use the database as a glorious cache of information that takes too long to harvest at runtime from the VC system?

So, while I might casually kick myself in the backside for finally and barely eeking out a new release of ViewVC, I do so understanding now that this may just be the way things go for mature software, thankful for ViewVC's many users, and happy to be working on free code.

Take ViewVC 1.1.0 for a spin. Kick the tires. Send feedback — positive and negative — to the mailing lists. I might be slow to respond, but "I'm not dead!", and neither is ViewVC.

.o O ( "I think I'll go for a walk … I feel happy." )

Thursday, February 26, 2009

Subversion desktop wallpaper

I admit that I can be easily distracted into any number of time-swallowing tasks of dubious universal benefit. The last time I had an airport layover, I succumbed to another such distraction — designing Subversion desktop wallpaper for my new-at-the-time laptop. I didn't have a long enough layover to do anything graphically groundbreaking, and I'm not quite distracted enough right now to bother generating fifteen images of various sizes and resolutions. But here's what I have — do with them what you will:

Monday, October 20, 2008

SubConf/Munich trip wrap-up

Last week, after a wonderful beach vacation, I was in Munich, Germany for SubConf 2008. First of all, I'd just like to reiterate how weird it is to think that this little open source software project called Subversion has become such a worldwide ... thing. If you had asked me seven years ago how I saw all this playing out, I'm not exactly sure what I would have said, but I can pretty much guarantee the words "worldwide user conference" would not have been a part of it. And this year—bonus!—we were able to combine the user conference with a simultaneously happening developer summit.

The start of the week found me still awake, very sleepy, and frantically working to setup a new work laptop. We got back from vacation Saturday afternoon, picking up this new laptop from Amy's parents' place before we arrived at our own home. We unpacked the car, began sorting the dirty laundry, and started the night-long process of cleaning every article of clothing in the house. While the washer and dryer were doing their thing, I was shrinking partitions and installing Ubuntu Linux and copying data from backup. So, with three hours of sleep, we headed off to church on Sunday morning. And after church, we came home just long enough for me to pack some last-minute stuff and drive off to the airport.

Now, the flight from Charlotte to Munich is not a short one, but I was only able to grab about an hour-long nap. I arrived in Munich on Monday morning, took a pair of trains to the Riem stop, and began the half-mile walk from the train station to the NH Hotel (where I was staying, and where SubConf was held). Along the way, I passed some friends headed into Munich for some sightseeing: Mark Phippard, Paul Burba, and Hyrum Wright. We agreed to let me check in and drop off my stuff so we could all head out again together.

Munich is a beautiful city, and we had a great time trampsing around it. Much of what I saw was stuff I'd seen last year, but it was great to revisit these places with a different group of folks. We got a few rounds of laughs at Hyrum's "mission", which was allegedly about picking up some textbooks for his professor from a German bookseller, but wound up looking strangely like a shakedown of a nice elderly German lady in a faux antiquities warehouse. And Mark's running narration of a pseudo-history of Germany was a steady source of humor (though, I do fear for his children's future social studies grades).

On Tuesday, the developer summit began. We chronicled much of the happenings there at http://svn-summit.open.collab.net/, so I won't repeat them here. But I think overall the meeting (which continued Wednesday and Thursday, too) was useful for all. Tuesday night the devs sat in a horseshoe shape in front of sixty or so Subversion users to "get drilled" with questions and complaints, but the drilling never happened and folks were (for the most part) quite polite in their feedback.

SubConf proper began on Wednesday. I mostly stayed with the other devs in the summit room. I gave the last talk of the evening in one of the tracks, just providing a heads up about what we expect to be released in Subversion 1.6, as well as a little bit about what's currently in the oven for future releases. As always, I was a touch nervous when I first began the talk, but I got over it quickly enough. Honestly, I'd prefer to just field questions so that I know that what I'm saying is at least addressing one person's needs, rather than dumping my previously prepared information in the laps of folks who may or may not care at all.

Thursday I again chose to attend the developer summit rather than the SubConf presentations.

I still managed to find my way into many side conversations with non-devs over the course of the three days, so I definitely would not count this as a missed opportunity to connect with Subversion's users. And of course the nights ran long as I was hacking on Subversion's 'fs-rep-sharing' logic, releasing ViewVC 1.0.7, and so on. When I finally landed in Charlotte Friday evening after a ten-hour flight, I think I'd had about twenty hours of sleep in six days. But it was so worth it!

Here are some of the highlights for me, in no particular order:

  • The Subversion Developer Round Table, which I half-suspected was going to be underpopulated and shy on audience participation, was neither. Conference organizers were surprised by the turnout, and there were almost no moments of awkward silence.
  • Meeting some of the other developers I hadn't met before: Erik Hülsmann, Bert Huijben, Neels Hofmeyr, and so on.
  • As Hyrum noted on his blog, the somewhat spontaneous emergence of the idea of "packing" Subversion FSFS revision shards was both unexpected and a source of pleasant reflection throughout the conference.
  • High-bandwidth discussion with other developers. I love my wife and kids, and they are great sounding boards for development ideas, but the feedback quality is — somewhat lacking.
  • Erik H. rockin' the red corduroy pants, red sweater, and red-and-white striped shirt beneath. I can't pull off style like that.
  • Souvenir (and dinner) hunting with Hyrum on Thursday evening.

Oh! And as a special treat, I got to design the T-shirt for the developer summit. It's pretty geeky, a cartoon about the resolution of so-called "tree conflicts". But then, why shouldn't a geek gathering have a geeky commemorative shirt? (By the way, I did the entire design in Windows using OpenOffice Draw, with final touch-ups in PhotoShop—much thanks to the folks at Contagious Graphics in Charlotte who fast-tracked this order through while I was at the beach.)

Monday, September 29, 2008

ALL YOUR TEXT-BASE ARE BELONG TO US

I was thinking about some T-shirt designs this weekend, and one train of thought derailed into the following diversion. Enjoy.

Background: A couple of months ago, Greg Stein announced his intent to return to Subversion development, among other things. Since then, Greg's been undertaking a beast of a task: redesigning Subversion's working copy management library. As for the "All your base…" stuff, see Wikipedia's "All Your Base" page for more on what that's all about.

Greg: sorry, buddy, I couldn't help myself. Glad to have you back.

Sunday, September 14, 2008

Version Control With Subversion, 2e

The second edition of Version Control With Subversion went off to the print shop this past Friday, and you can already read the official O'Reilly digital version thereof on their Safari Books Online service. This second edition covers Subversion 1.5.0 and all its new features, including merge tracking, changelists, sparse directories, SASL support, and so on.


Click to Buy

I dunno how my co-authors (Ben Collins-Sussman and Brian Fitzpatrick) feel about it, but I am really glad to be finished with this edition. Authoring a book — even just filling in the holes of an existing book for a second edition thereof — is a really time-consuming process! Our first edition was published in 2004 and covered Subversion 1.0. So that meant we needed to have the text updated to cover four more years' and four more major releases' worth of Subversion's maturation. Granted, we'd been more-or-less keeping our text up to date with each release of Subversion as it came out. But the text authorship was nothing compared to the copyediting stages and the tight production schedule there at the end.

Lest anyone misunderstand me, I want to state for the record that all the folks we interacted with at O'Reilly are awesome. Not only were we able to write our book in a completely open format (DocBook XML), but O'Reilly now does all the book fancification in the same format. They were cool enough to give us commit access to their production repository so we could more quickly port changes between our book source files and their copies, and vice-versa. O'Reilly rules!

The pain for us was the scheduling — both the overall length of the process, and the final drive to completion. We were originally contracted to put out a book about Subversion 1.4. But it started looking like Subversion 1.5 would be released about the same time as our 1.4-based book. Well, clearly it didn't make sense to do that, so we negotiated with O'Reilly a change of plans — to publish a book that covered Subversion 1.5 instead. Sadly, Subversion 1.5's schedule slipped. And slipped. And slipped some more. Scope creep and eleventh-hour code reworkings there meant more writing and re-writing for us, and, of course, delayed the whole publishing schedule. And it would have been worse were it not for some incredible volunteer technical reviewers that stepped up to help double-check our work.

But enough of my whining. The point of this post is to announce that the hard work and late nights has finally paid off. We have a second edition at the print shop right now, and only three months after Subversion 1.5.0 was released. We've already gotten some great early feedback on the new edition (the book itself is developed in the public under an open license at http://svnbook.red-bean.com), so we are optimistic that this new edition will serve as a useful addition to the libraries — physical or digital — of Subversion users of all flavors.

Tuesday, July 1, 2008

Subversion 1.5.0 commit history, visually

I was recently introduced to the code_swarm project, which produces this nifty software for generating visual representations of version control repository activity. For kicks, I pieced together a visual history of Subversion 1.5.0. Enjoy! (You might need to view it in fullscreen mode to actually read the committer names and datestamps.)


Subversion 1.5.0 (code_swarm) from C. Michael Pilato on Vimeo.

Thursday, June 19, 2008

Subversion 1.5 released

Subversion 1.5 — the single largest post-1.0 release of Subversion — was released today. The long wait is over.

And boy do I mean "the long wait". Over two years have been invested into this release, with most of the effort surrounding the flagship feature it delivers — semi-automated tracking of merges. In that time we've added nine fantastic new full committers to the project, a handful of partial committers, and seen contributions from many other volunteers. And I've nothing but praise for Hyrum Wright, our unpaid, volunteer release manager, who patiently endured not just alpha and beta releases but eleven (yes, *sigh*, eleven) release candidates.

One personal benefit of this lengthy process has been the opportunity to speak publicly on the topic several times. From local LUGs and developer groups, to SubConf in Munich last October, to JavaOne CommunityOne last month in San Francisco, and in various blog posts and webinars, I've been able to talk about Subversion 1.5's new features and improvements. I'm not a particularly suave public speaker, but I was surprised to find that I wasn't nearly as nervous about doing these gigs as I thought I would be. But more importantly, each of these public appearances allows me to talk with other folks I've never met before and hear about their excitement around Subversion and the other tools in the Subversion ecosystem. In a few weeks, I'll be in London, speaking at the itSMF-BCS Conference, and once again talking about Subversion 1.5. But this time it will be different. This time, I can talk about the release in the past tense!

For the intimate details of what this Subversion 1.5 brings, what upgrading means in terms of compatibility matters, and so on, I refer you to the official release notes. Also, my employer (CollabNet) has a handy-dandy collection of Subversion-1.5-related documentation, webinars, training session, and other material available.

Subversion 1.5 with merge tracking is released. ALL YOUR BASE[LINE] ARE BELONG TO US

Tuesday, June 10, 2008

Final technical review of Version Control with Subversion, 2nd Edition

Ben Collins-Sussman, Brian Fitzpatrick, and I — the primary authors of Version Control with Subversion — are nearing the end of the editing cycle for the second edition of that book. Last week, I put out a call for technical review assistance to the Subversion development community, which you can read at http://svn.haxx.se/dev/archive-2008-06/0278.shtml.

Would you consider helping us out with this task? We can't promise you fame and fortune, but we'd be glad to list you in the acknowledgments section of the book!

Monday, February 25, 2008

Subversion talk at Charlotte.PM this Wednesday

If you're in the Charlotte area and interested in an overview of Subversion plus the highlights of the upcoming 1.5 release thereof, consider attending the Charlotte Perl Mongers technical meeting this Wednesday, February 27th at 7pm in room IT4134 at CPCC, where I'll be giving just such a talk. And if time permits, we'll also get a demo of svk, another version control system build atop Subversion's core libraries — bonus! See the official meeting notice for details.

Sunday, September 30, 2007

Ups and Downs

They say life is full of ups and downs. But who, exactly, are "they"? And why are they stalking me?

Gavin and I shared the neat experience yesterday afternoon of taking the training wheels off his bike. He's been adamantly opposed to this idea since Christmas, when he first got his bike, insisting that he'd go two-wheelin' "when he was as big as Daddy" — and not a moment sooner! Well, yesterday I just went ahead and took them off, which he protested until I calmly informed him that it's just a couple of nuts, and we could put the training wheels back on later if necessary. With that, he braved up and let me hold the seat of his bike while he pedaled around the back yard. He had a blast. And I had — still have — a muscle cramp in my backside as a result. He was so proud of himself, and we were so proud of him. Sure, he fell a few times (and one fall was particularly exciting because it forced me to dive-roll over him and his bike). But it certainly wasn't the falls he was telling his Nana and Paw-paw about today at church. It was the ride.

Ups and downs.

While Gavin biked, Aidan was hitting pitched whiffle balls, and loving it. He's been a confident tricycler for a few weeks now, and for the moment we're quite alright with keeping him a mere foot off the ground instead of the two feet a bike would require. Unfortunately, all he's thinking about at the moment is the nasty bit of road rash he's sporting on his left knee after a sidewalk slide heading into church tonight. He's a pitiful sight, what with his tear-streaked face and constant reminders to "don't touch it".

Ups and downs.

Speaking of church, what a roller coaster of emotions that is. Our church is full of good people with good hearts, but ultimately is still made up of people, every one of us just as flawed as the next one. The church body has been gracious enough to put me a position of some influence regarding the music, and I've been so fortunate to be able to affect some change in our church in small ways — playing guitar for the Praise Team, spinning more contemporary music before the service, yet keeping the old hymns of the faith ever-present in the lineup, too. But this stuff always meets with a gaggle of supporters and detractors. It's weird to come away from a service like today's where multiple folks are saying how much the music ministered to them that day, only to hear later indirectly that so-and-so said that CD we played before the service (Shane and Shane's Clean) was "just awful".

Ups and downs.

But the ups and downs aren't always in the present and past. We can look forward to them in the future, too. Looking forward to the ups is, of course, quite easy. We've got a North Myrtle Beach trip coming up soon, Plaza's Homecoming (with Geoffrey Janes as a guest speaker, and Josh and Tasha Via joining us for the musical stuff) is in two weeks, and immediate after the Homecoming dinner-on-the-grounds, I get to hop on a plane and go to Germany to speak at a Subversion Conference. Fun, exciting, stuff worth looking forward to.

But what about the downs? What's to look forward to there? Opportunities. Opportunities to learn more about myself and God's purpose for me here on Earth. To see how, when the bum stuff comes, there's always hope on the other side of it. To see if I can pass the pre-test (a given trial) put before me, and then afterwards pass the real test (giving glory to God for allowing me to survive that trial). And if that fails, we can celebrate the downs simply because they help to make the ups so much sweeter.