How-To: Setup a SVN Server Under OS X 10.6

Last year I took a look at a number of Subversion clients for OS X, finally settling on Versions as my client of choice for my personal coding needs. At the time, I was running a Linux server on some old generic hardware from the days before I drank the Apple Koolaid. After deciding to upgrade my wife’s 17″ iMac with the new i5 27″ model, I realized I could ditch the old Linux hardware and get some great power savings (and hence reduced electricity bill) in the process. The first task I had was moving my SVN repository over from the Linux machine (Ubuntu 9.10) to the iMac running OS X 10.6…and this is how I did it.

All of the SVN application binaries, including the server, already come pre-installed with OS X 10.6, located in the /usr/bin/ directory, so we just have a few steps to get that running.

  1. Create a system user for SVN.
  2. Create a new repository to store your code in.
  3. Optionally create specific SVN users for submission tracking.
  4. Configure the server to run automatically at system startup.

Read More about How-To: Setup a SVN Server Under OS X 10.6

12 Subversion Apps for OS X

subversion_logo-384x332

Subversion (also known as SVN) is a popular version control system. Accessing SVN repositories with OS X is easy – and there are numerous options to do so. In this article we’ll cover 12 different applications that let you access and use Subversion in OS X.

Version 1.4 of the command-line SVN client ships with OS X Leopard and is the quickest way to get started (for OS X Tiger, or if you need SVN 1.5 an easy installer can be found here). All you need to do is fire up the Terminal application and type svn with the required parameters. A great resource to learning how to use the command-line client (and all the functionality of Subversion) can be found at Version Control with Subversion — a free online book. From the command line you can do everything required. In fact, some people will swear against doing anything SVN-related without dealing directly with the command line.

However there are reasons most of us love OS X, and a large number of those reasons relate to the great user interface experience. So what tools are there that can expose SVN functionality via a user interface? Read More about 12 Subversion Apps for OS X

Setting Up Xcode & Beanstalk Hosted Subversion

If you are planning on getting started in developing for the Mac, one of the first things I recommend setting up is a version control system. Beanstalk is a hosted Subversion system, so you can access your code from anywhere you have an Internet connection, team up with partners across the world, and keep a safe copy of your code off site, just in case. It’s tempting to rely on Time Machine for the ability to roll back changes, but Subversion has some key differences that make it a clear winner in ease of use and features.

For one, you can host a Subversion repository anywhere, either locally on your own Mac, or on the Internet, or on your local private network. Second, Subversion is built to work with multiple users, and can handle conflicting commits to the repository. Finally, Subversion can integrated directly into Xcode, which is what we are going to look at here.
Read More about Setting Up Xcode & Beanstalk Hosted Subversion

Versions Subversion GUI Hits 1.0

Versions, the GUI-based Subversion client for the Mac, is now out of beta. It must have been at least a year ago, that I remember seeing some screenshots for Versions, and the development community drooled. But we had to wait. And waiting was hard.


Fast-forward to this summer when the first public-beta of Versions became available for download. You should have seen Twitter. Web and softare developers were giddy. Since then we’ve seen several updates to an already very nice beta, culminating with the 1.0 version, available today.
Versions offers the ability to visually browse repositories, see changes in your working copies, and easily set up new projects. There’s also a nice timeline view, letting you go back and see all the old edits on files and folers. Versions even gives you an easy way to set up a free remote repository using Beanstalk.
The GUI-based Subversion client idea isn’t new. There are a few applications, like svnX, that have been around for quite awhile. However, if you compare the screenshots and features between Versions and svnX, you can see why Versions is getting the buzz that it is.
Another application to keep an eye on is Cornerstone, which is looking very good. Cornerstone just debuted this summer and seems to be giving Versions a run for its money. This is a fantastic situation, much like VMWare Fusion and Parallels, where we get to see two excellent applications in competition against each other to make the best program.
Versions is a joint venture by Pico and Sofa. It requires Mac OS X 10.4.9 or higher (10.5.2 is recommended). You can download and try Versions for free for 21 days. After that it will set you back around $50.

Versions for Mac now in public beta

The long-discussed “Versions” for the Mac is now open for anyone to download, for free (for now). It’s pretty slick. It’s not as awesome as the hype built it up to be, but it’s definitely worth checking out.

Versions is an app that provides a strong GUI front-end for the “svn” (Subversion) command-line application. I, personally, prefer a GUI over command-line, but the benefits of Subversion were worth the hassle to me in my Cocoa development. We’ve discussed Subversion and its uses and benefits in quite a few places here on TAB before, so it’s nice to finally see an app like this come along.

Scott Stevenson had posted an earlier sneak peek of the app last week, and his comments area sparked a “war” of sorts amongst users of other version-control systems, saying that SVN is no longer “cool”.

John Gruber posted a quick ping yesterday, noting how nicely it works with Beanstalk, to provide a nice end-to-end solution for newbies.

Check out the Versions beta, and decide for yourself.

Update: Be careful about using it with any projects for which you already have version control activated in Xcode… the two apps, for some reason, don’t work in sync. I’m not entirely sure what the problem is, but Xcode will give errors for projects that Versions touches, and isn’t able to sync until you re-checkout the project (using Xcode). Versions also runs every single file, and freaks out when my PPC machine makes an extra or different build file than my Intel machine. Again, I don’t know what it’s doing – only that I’m going to keep using only Xcode for this project until the authors of Versions work to integrate the two programs better.

I also had a problem where my Versioning provider had an out-of-date ssl certificate, and it was throwing an error that required response, but I wasn’t given any way to respond in Versions, so I had to load up the command-line svn first to get around it. Versions needs a way to present possible options/answers to the cryptic errors that svn throws.