Introducing SmartSVN.. a better SVN client for MAC OS X

Having used Versions for some time and having come to MAC OS X platform only recently from Windows, I have really been missing the awesome shell integration of TortoiseSVN known from Windows. SubClipse made most of my updates seem easy, but I still found myself missing the shell integration on a daily basis…

Nevertheless, having come to terms with this limitation much to my happiness I found the SmartSVN client after having watched a screen cast by Mr. Nate Bech (Senior Adobe Developer at T-Mobile USA).
SmartSVN is by far the best GUI based SVN client I have come across for the MAC OS X platform so naturally I want to post a note about it in a hope to guide others in a similar situation.


Check it out…


Versions – Mac Subversion Client

For those on OS X who haven’t found Versions yet, it’s a great Subversion client for Mac.

At the moment the product is still in beta, each installation coming with a time limitation (usually replaced for free with another beta). Once released you’ll be able to buy Versions, unfortunately there’s no really info on what sort of price we can expect.

If you looking for a great GUI for Subversion for Mac, Versions is definitely worth downloading and take for a spin… however it’s going to take some effort to compete with Tortoise for Windows PC’s which still seems to be the best SVN client with a GUI.


SVN : Frequency of Update&Commit cycles

Its very disputed indeed, however I have experienced that some practices in using SVN results in less conflicts than others.
The practices which yield the best results depend highly on the method in the organization and the general practices of the team.
Every opinion I share in this post is therefore based on the notion that it works in the company I work for and the current team I am working in as well as the codebase we are working on.

During a development cycle I will probably end up updating every hour or so. This is not a conscious activity, but more of a habit as it has proven to allow me to experience long periods of no conflicts or merges.
I should perhaps point out that I work as an architect on a system with about 10 developers and a codebase of apr. 3500 classes divided into vast amounts of modules and libraries. Our SVN is configured with positive assertiveness so we let the SVN assume that conflicts will not appear and that if they do, merges will be possible. This works well for us.

The single most important rule of SVN engagement on my slate is the “Update Prior Commit” dictating that I always run an update before I execute a commit. SVN will warn you anyways, but it gives me a second to think about what I am committing which I have think gives me some percentages in regards to preventing SVN errors.

I would say that anyone in our organization should commit at least every day and should update at least a couple of times per day. This is due to the very lively nature of our current codebase which kinda means that we don’t have any very stable areas in the codebase except for our core classes.

If the task at hand is too big to be committed every day, it should be branched and hence committed every day. This practice has a couple of times proven to work as an invaluable backup when disks have malfunctioned or users have caused Error-40’s (In case you don’t know I what I am referring to with “Error-40”, ask a computer-saavy Dane – (s)he will tell you 🙂 )

(to be continued)


Subversion integration for Microsoft Visual Studio

VisualSVN provides simple way to manage changes to source code inside Visual Studio using Subversion.
I have installed it now and is using it for the next 30 days which is the duration of the trial version.
Sofar have all the functionality been flawless, but I suppose its not a surprise as its actually just a integration point to the Tortoise I already had installed. This also means that we still get to use some of the beautyfull windows from the Tortoise client.

I have been frustrated so many times that I could not manage my SVN files so this is a really nice tool to have…
However, I still have not found the DELETE button within VS, so I am wondering if I cant delete files from within VS, and then I must say that I am hesitant in embracing it to much… however, sofar it beats the good old Tortoise by many measures, so I will continue to use it throughout the trial period…

Check it out…