Skip to content

Version Control: No More Save As

Panel:

  • Matt Mullenweg   –   WordPress
  • Joe Pezzillo   –   Metafy LLC   –   metafy.com
  • Derek Scruggs
  • Karen Nguyen   –   Yahoo
  • Zack Nies

According to Derek, this presentation will server as a bit of a Version Control 101—siked!

Zack
Version Control is better than Save As because it fosters a collaborative environment.  Zach is using some stills from Groundhog day to illustrate the point of Version Control: “You start off in the morning, and you are working with a team that doesn’t use version control.  At some point you get over-written and you are stepping on each other’s toes…”  Even if you are working solo, and you totally ruin your project, you can just go roll the clock back—continuing with the Groundhog Day analogy.

Derek
Derek is talking about how he is a self-taught programmer that has only been involved in programming for the last few years.  He originally thought that version control

> svn update = brings up all working changes in the directory.

> svn status = shows you all of the files you’ve been working on so that when you make a commit, you know what is going to be affected.

> commit = how you commit your files to the repository

Derek built the http://rate.sxsw.com app, which was saved by version control because of a bug that had been introduced a few days before the conference.  You can roll back with subversion, which is awesome—basically just like hitting the rewind button.

Joe
Joe’s opening slide: “Virgin Control 1.1: if you’re doing it, you’re doing alright!”  Kind of weird, but whatever.  According to Joe, Time Machine != Source Control.  It does some of the same key things, but at some point, it begins to delete your old archives etc.

SVN is built into Xcode, and Coda also has some SVN hooks.  Joe is talking about FileMerge (part of the Developer Tools in OSX), which I also use for comparing files—it is totally awesome by the way, though it is kind of weird with CSS files sometimes.

3rd Party SVN apps

  • Cornerstone has Timeline and FileMerge-like features.
  • Versions is apparently very easy to setup/use, and it has Beanstalk integration.

Beanstalk
Hosted SVN repositories, free version with no SSH, Integrates with Basecamp, FogBug, Lighthouse, etc.

Git
Git is open source, it makes branching really easy (every check out makes a branch), and then it is really great about putting everything back together.  The cool thing about Git is the social coding access for open source projects.

GitX is a Mac client for Git.

Mercurial (Hg)
A different kind of version control: Distributed Version Control System (DCVS).

Karen
Karen is a flash developer for Yahoo, so she is mostly talking about updating .swf files etc. and using SVN to track the changes.  She says to make sure you commit your binary files along with the .fla files.

Apparently, moving from CVS to SVN is a pain—even Yahoo is having trouble transitioning.

Hmm, not a lot of meat here.  Many things are being glossed over, such as cross-repository development (two teams working together while using different repositories).  I thought that this was to be a Subversion 101 session, but thus far it seems more like a scattering of different terms that aren’t very well explained or demonstrated.

Matt Mullenweg
Awesome!  Matt is going to do a live update of WordPress site to show us how to work with SVN!  He just added “matt wuz here” to the footer on their live site haha.

This looks like a great article that talks about how to avoid committing syntax errors: http://phpadvent.org/2008/dont-commit-that-error-by-travis-swicegood

Matt is talking about how you can basically commit anything to your SVN repo—he even committed like 510gb of RAW camera files!  He also uses it to sync multiple computers.  However, SVN is not a backup for your computer because if you lose your repo, you’re pretty much s.o.l.

Matt hates branching because when people go of into their own branches, it slows things down because it is difficult to keep track of changes/merges, and working with the most current files, etc.

There is a great article on installing/updating wordpress with svn on http://codex.wordpress.org/installing/updating_wordpress_with_subversion

The general consensus of the panel seems to be to work through a bug from start to finish before committing.  WordPress actually doesn’t commit until things are ready for deployment.

Apparently there is an Easter Egg somewhere in WordPress.  Hmm, didn’t know about that, but here is someone’s blog entry on it: http://ocaoimh.ie/2008/11/26/wordpress-26-easter-egg

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*