Login | Register
My pages Projects Community openCollabNet

scplugin
Wiki: OtherSvnTools

Edit this page | Links to this page | Page information | Attachments | Refresh page

 

OtherSvnTools

As mentioned in SvnVersion, mixing different Subversion tools can get very messy. In some cases, you can configure some tools to work more smoothly with others, in other cases, you can't. Here's some help navigating the woods.

The principal question here is, "How does a given tool actually connect to Subversion?" Some tools secretly run the command-line tool underneath, some bind to the standard Subversion libraries, and some tools "roll their own" Subversion protocol. In this table, these are indicated as

  • 'CL' - command-line tool used

  • 'LI' - standard library used

  • 'SK' - SVNKit used

  • 'RO' - roll-your-own protocol emulation

Tool

Connection

Configuration

SCPlugin

LI

Download

CollabNet Subversion

CL

Download

OS X

CL

Update

Xcode

LI

Update OS X

svnX

CL

Preferences

SmartSVN

SK

Adaptive

SVN-Finder Scripts

CL

Shell $PATH

RapidSVN

SK

Update


What do those "configuration" entries mean?

  • Download - These tools make several versions available for download simultaneously. If you decide you've installed the wrong one, you can go to the same web site, download a different one, and install it right over your current one.

  • Update - These tools may have several versions available at any one time, but you can't freely install one version over the other: you can install a newer one over an older one, but you can't go backwards.

  • Preferences - These tools provide some setting, typically in their Preferences panel, that you can use to point them to the right copy of Subversion. As initially installed, they may either point to the Apple-provided copy in /usr/bin, or they may point to /usr/local/bin (which was a common choice before Apple started providing Subversion). If you want these tools and SCPlugin to play well together, you might set them to use /usr/local/bin with current SCPlugin installers, or for older SCPlugin installations, this one (even though this path really is horrifyingly long, I know):

    • /Library/Contextual Menu Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/bin

  • Adaptive - The SVNKit adapts itself to several working copy formats. While it does perform a partial format upgrade when run against older working copies, it seems to leave them sufficiently intact that other tools aren't troubled.

  • Shell $PATH - The svn-finder ?AppleScripts actually run the svn command line inside a Terminal window, using your login shell. You can point them to any copy of the SVN command-line tools by adjusting the $PATH environment variable, in ~/.MacOSX/environment.plist or ~/.bashrc. This would include, if you like, pointing the scripts at the command-line tool provided by SCPlugin, in /usr/local/bin/.

Working Around Differences

It is possible to switch some tools that ordinarily use the Apple-provide libraries (marked "Connection: LI" above), such as Xcode, to use some other version. It's not easy, and it's pretty advanced, but if you'd like to try it, check these directions.

If you want to use that trick to make Xcode use the same libraries as SCPlugin, then follow those directions, with these substitutions:

  • Where it says to download and run some installer, get the SCPlugin installer (if you haven't already)
  • Where it says to use defaults write to change a path setting, set it to this path:

    • /Library/Contextual Menu Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/lib


Back to FrontPage

OtherSvnTools (last edited 2010-02-05 18:44:59 -0700 by jackrepenning)