Subversion

I think I’m now up and running on Subversion. I’ve been putting this off forever (long enough to skip CVS and get up and running on SVN), but I’m really glad I’m finally up on source control.

The next major release of Tasks Pro™ and Tasks will be a paid upgrade, but I don’t feel like customers should have to pay for upgrades just to get bug fixes. With source control, it will be easier to make any bug fixes that might be needed in old branches and push out maintenence releases in parallel with the new releases.

Considering all the moving parts, setting up Subversion was fairly painless:

  1. Download and install Xcode.
  2. Download and install Fink.
  3. Download and install Fink Commander.
  4. Use Fink Commander to install the svn and svn-client binaries.
  5. Fix paths so that all the Fink stuff runs properly.
  6. Download and install SCPlugin (remember to enable it). SCPlugin works just fine with Path Finder.
  7. Get on the horn to an experienced developer friend who will patiently explain the next steps you need to take.
  8. Create your SVN repository.
  9. Create a folder where you want it for your working copy (mine is ~/Sites/src/).
  10. Use SCPlugin to check out this folder and enter the path to your repository (remember to file:/// prefix).
  11. Now put your code in your working folder, then add and commit it to SVN.

I was getting stuck in a chicken and egg loop, trying to set things up on the admin side where everything should be done in the working folder, then committed back. Scott managed to get my mental model straightened out.

If you’re having trouble connecting to your repository, make sure your repository was created where you think it was. Somehow my first attempt was created an extra level deeper than I intended. That led to some confusing problems. 😉

First thing I did was set up a Tasks Pro™ 1.2 branch and a Tasks Pro™ 1.5 branch (trunk) and so far things :fingerscrossed: are running smoothly. 🙂

This post is part of the thread: Version Control – an ongoing story on this site. View the thread timeline for more context on this post.