I took a bit of a look around and while there are a few other suitable SVN clients i found Versions the best one to work with. SVNx is too complex to use and SCPlugin looks messy since its inside the finder putting weird labels on all files and stuff.
Versions turned out to be a very nice app, but also a costly one. I am now using SCPlugin which seems nice enough. As stated above it is a messy thing but on the other hand it works very easily.
In this article i assume you know what SVN is and what it can do. But not how it works. As said earlier i’m gonna use Versions. If you don’t have it you can download it here.
In this article we use a WordPress repository which is already populated. But you’ll get a fair idea on how to set things up.
Install versions by dragging the app to the applications folder. Once that is done start versions.
You’ll be shown a license thing with which you have to agree to in order to use the application.
Now we can start configuring things. Assuming you have all your repository details handy we’ll continue.
In short, what SVN does:
SVN, or subversion, keeps track of changes in files and keeps your software releases in sync with and online set of folders identical to your local copy.
What does this mean for you? With the client, like Versions, you copy the online repository (folder structure) to your computer and keep it synchronized via the SVN client. Next to this repository you maintain a working copy which can be ‘trunk’ (more on that later) or another folder. I myself use my localhost server as a working copy and when i’m done with the files i move them to ‘trunk’. From there if a stable release is reached i copy the files to a sub-folder in tags for release. SVN also allows you to roll back to an older version if required. For example when a later version is severely screwed up. You can pick up an older, good working, copy and start over.
There are 3 folders in the repository by default:
- branches – Versions derived from stable ones. Software that goes another path than the actual version stored in tags. Say another developer working on his own spin-off.
- tags – Stable versions stored in sub-folders. The actual releases.
- trunk – Your development release, beta versions, nightly builds and so on.
Setting up Versions:
When you start Versions you’re presented with the following screen:
From the mainscreen click “new repository bookmark” and fill in your details; name, Location (url), username and password.
A new bookmark appears on the left:
Next select your newly made bookmark and select the repository right of the bookmark column.
Once selected click the ‘Checkout’ button in the top bar.
Next it will ask for the location where the repository should be saved. Choose your location.
And it will download the current online repository to that location. This might take a moment or 3.
Managing files in Finder:
Now open Finder and browse to your repository you just downloaded, you should be presented the following.
In this example for the WordPress repository we don’t need the ‘branches’ folder. We do use the ‘trunk’ and ‘tags’ folder. Starting with trunk. Trunk is a folder where the development version is stored.
Once this version reaches something worth releasing you copy all the files to the tags folder in a sub-folder with the version number.
In this example. The files in trunk have reached version 1.1.2. So i’ve created a folder in tags named 1.1.2 and copied all files from trunk to /tags/1.1.2/. You do all this in finder.
Committing changes to the internet:
Now go back into Versions and refresh the local copy of your repository.
You’ll notice that in Versions it has found a new folder named 1.1.2 but has no idea what to do with it. Seen by the question mark on the left.
To add this folder and it’s files to the repository online you simply click the ‘add’ button on the top right. You see that all new folders and files have another icon in front, meaning they’re added.
When you’re done click ‘Commit’ on the top left to upload the files to the online repository.
With SVN it’s fairly important to document changes. Every time you commit something to the repository you’re asked to describe what you did/are doing. This should be a short and brief description.
And that’s it, you’ve now successfully uploaded a new version to the repository. Ofcourse there is a lot more to it. But this should get you started. If you experiment a bit with SVN and Versions you’ll get the hang of it soon enough and find out how to spot the new files (changed ones) and how to remove them.












