Back in January, I wrote about my feelings that Subversion still beats Git when it comes to the corporate environment. I pointed out that Git has some great features, but that the corporate world was heavily invested in Subversion, and was likely to stay that way.
I subsequently got flamed.
Note: This post is outdated, and has been superseded by Git Versus Subversion: A Reconsideration.
There are lots of projects heading over to Git these days. It’s not hard to see why: Git offers great merging support, distributed version control, and a great playground. Spots like Github even offer centralization crucial to large open source projects. But when it comes to the corporate world, Git may not be ready for prime time.
Tuesday started off with little fanfare but much anticipation as the tutorial day at php|tek got underway. There were a lot of great tutorials, but I chose to attend the Security Boot Camp by Christian Wenz, and the Subversion tutorial by Lorna Mitchell and Matthew O’Phinney.
Both tutorials were great, with the Subversion tutorial being the more useful of the two for myself. Afterwards we all went out for some deep dish Chicago-style pizza which is an experience in itself. Deep dish Chicago piza is a pizza with a semi-thick crust and about two inches of cheese. The sauce is placed on top of the pizza (rather than between the crust and the cheese) to keep the cheese from drying out. It’s truly an experience.
Even though the SVN extension for PHP is still in beta, the team has done a fantastic job with this PECL package. They’ve captured the most common SVN functions, put them into the package, and provided an easy way to view, manage, and control a Subversion repository right from PHP.
That’s not to say that the package is perfect: far from it, in fact. The documentation is the most disappointing facet, something I may help resolve through contributing to the manual. Also, most programs don’t yet recognize the SVN functions as part of PHP, so syntax highlighting is not available. This is a small inconvenience, however, and certainly no reason to NOT use it.
One of the least discussed features of Subversion is the post-commit hook, or really any of the built-in hooks that Subversion offers. These hooks are executed at a variety of different times, and the one I’m focusing on is the one that is executed just after you commit changes to the repository.
Keith Casey mentioned to me one day that he could turn on “commit messages” and I inquired as to what this was. He explained that he could have Subversion mail him every time someone committed to a repository. Being someone who works with others, I thought I’d give it a shot.