Suggestions on SVN client for OS X

Hello all,

I am looking for some suggestions on a good Subversion client for use on OS X. I have tried SmartSVN, an excellent program but only free for non-commercial projects, and svnX which is more Mac like, but has to be one of the most confusing programs I have ever used. I really don’t like the split that it makes between repositories and local copies.

So, since a ton of people seem to be using Macs on this list, I thought I would ask what clients people are using.

Chris

Hi!

bryanl wrote:


Hi!

Hello all,
I am looking for some suggestions on a good Subversion client for use on OS
X. I have tried SmartSVN, an excellent program but only free for
non-commercial projects, and svnX which is more Mac like, but has to be one
of the most confusing programs I have ever used. I really don't like the
split that it makes between repositories and local copies.
So, since a ton of people seem to be using Macs on this list, I thought I
would ask what clients people are using.
Whats wrong with subversion from the command line? You can install it using macports. Also, if you Textmate, check out the SVN bundle.

Is Textmate a verb now? :slight_smile:

I prefer the command line (installed using http://www.codingmonkeys.de/ mbo/). There is this (http://zigzig.com/content/view/15/29/), which works but needs more development on the interface (IMHO). Development seems to have stopped though....

check out 'svnX'. It is a very simple client, but it works and it has nice integration to Apple's FileMerge diff utility.

features/

Adam

I use svnX (La Chose : web agency and software maker – agence web et développement de logiciels svnx/features/) or the Eclipse Subclipse plugin in combination with Mylar (another great Eclipse plugin).

There’s not a really great SVN GUI client out for mac (or pc for that matter). I guess I’m spoiled coming from perforce originally.

But like the others I’ll echo their recommendations and go with svnX and Textmate…

I use a combo of both with the command line to get things done.

I use the free version of SmartSVN just fine, but I guess I don't need the "advanced" features. Though I'm using the command line more and more now anyways.

So far the clear winners are the command line and svnX. I have the command line client installed and have started to use it a little bit. Although, my first attempt at that completely killed my setup in SmartSVN for some reason. Apparently the two do not like to play together. Anyone else have this?

I think I may give svnX another try. Initially I was put off by the rather odd UI, but there may be an excellent program sitting in behind waiting to be discovered.

As for SmartSVN, I really like it as well. However, I am starting to work on a commercial web app and can’t continue to use it without violating the license (as far as I remember).

Thanks for the suggestions.

Chris

Chris Johnston wrote:

So far the clear winners are the command line and svnX.

I don't know if anyone else has pointed out the common practice here.

Add a rake task called either ci or submit. Mine looks like this:

task(:submit => [:cook, :test]) do   comment = ENV['comment'] || ENV['m']   comment = 'refactor' if not comment or '' == comment   sh 'svn commit -m "' + comment + '"' end

(:cook is another custom task that runs db:migrate on each environment.)

Call that like this:

    rake submit m='inflatable squirrel carcass'

Because you want to run all the recent tests after every few edits, you should have a command line open at all times. And each time you integrate, something should run all the tests first to gate the submission. So you should stay in the command line, and not rely on mouse-abuse...

Add a rake task called either ci or submit. Mine looks like this:

task(:submit => [:cook, :test]) do   comment = ENV['comment'] || ENV['m']   comment = 'refactor' if not comment or '' == comment   sh 'svn commit -m "' + comment + '"' end

Interesting... I wonder if there's a way to first have it call "rake test" and only commit if all the tests pass?

Jeff

Jeff wrote:

Add a rake task called either ci or submit. Mine looks like this:

task(:submit => [:cook, :test]) do   comment = ENV['comment'] || ENV['m']   comment = 'refactor' if not comment or '' == comment   sh 'svn commit -m "' + comment + '"' end

Interesting... I wonder if there's a way to first have it call "rake test" and only commit if all the tests pass?

Besides the :submit => [:cook, :test] dependency?

:wink:

Doh! Thanks!

<...>

I have the command line client installed and have started to use it a little bit. Although, my first attempt at that completely killed my setup in SmartSVN for some reason. Apparently the two do not like to play together. Anyone else have this?

<...>

Newest versions of SmartSVN convert working copy to the newer format, so if your command line client is older than 1.4 you won't be able to use both on the same working copy. The solution is either to use older version of SmartSVN (2.0.x I believe) or to upgrade command line client to version 1.4. Not sure if it is what heppended in your case though.

There is also a project kicking around called SCPlugin. Details are sketchy, but it appears that a new build has been posted recently (the project appeared to be dead for a while). It mimics the behavior of Windows clients like Tortoise, adding SVN status badges to the file icons in Finder. It's not without its bugs, but I have it installed, and it's a welcome addition to my combination of svnX and TextMate.

http://scplugin.tigris.org/servlets/ProjectDocumentList

I'm using svnX currently. I've found I need to do my delete's in a very specific order to get it to work properly (Don't delete the file on the local drive or your hosed, always delete it through svnX, I imagine it's the same for renames). Something along the lines of TortoiseSVN for windows would make me very happy.

I am very impressed with Apple's FileMerge utility that svnX uses, though.

That's because any GUI tool here would wrap the command line equivalent...

  svn rm foo # erase foo from both the file system and codebase   svn mv bar foo # rename foo in both places

One wonders if Rails works with any other version controller. Don't please answer - they are probably pluggable...