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.

http://www.lachoseinteractive.net/en/community/subversion/svnx/
features/

Adam

I use svnX (http://www.lachoseinteractive.net/en/community/subversion/
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...