Useful tools for working with Subversion

Viewed 16510

There are a number of great tools out there which integrate with Subversion and do some really neat things. I’ve tried a number of them but ultimately only tend to use the following on a regular basis:

  1. Tortoise (the ubiquitous Explorer plugin)
  2. Visual SVN (IDE integration for VS)
  3. Visual SVN Server (light weight SVN server)
  4. SVN Monitor (repository monitoring)

What else is out there that you find really innovative or useful for interacting with Subversion?

20 Answers

StatSVN is a really cool, albeit someone nerdy, tool for reporting details about your repo and commit statistics; it's really just graph porn :)

Here are some examples of the graphs.

In addition to some previous comments:

  • TeamCity has excellent support for Subversion in terms of build tools other than CC.NEt and Hudson.
  • AnkhSVN with Visual Studio (it's latest builds look quite nice)
  • Fisheye from Atlassian is an awesome way to monitor and view your source code/history/revisions with some neat statistics and support for code reviews, etc.

Trac is a issue tracker with SVN integration. I really like the timeline view, where one can quickly see all the changesets for quick code reviews.

On Mac, I like Versions. Other people prefer Cornerstone. Both are nice SVN clients with excellent UI.

I just end up using Subclipse just to stay in my IDE.

the svn protocol handler is also quite useful: it allows you to browse svn:// repositories in internet explorer.

I use Commit Monitor to get notified of commits made by other devs.

I'll have to take a look at SVN Monitor, looks like it does the same thing, but has more features than Commit Monitor.

I have used Synchro on Windows and Mac. It works well especially if you have developers on different platforms. I think that the license allows you a single user to use it on multiple platforms (I do full time development on Mac and test on Linux and Windows).

Versions is a Mac client with a nice UI.

I use kdesvn as a linux client, does the job.

I think some of the hook scripts that are available are quite useful to set up on your repository. For instance I use a pre-commit hook to ensure a minimum log message length (some of our devs were prone to committing with an empty log message) and a post-commit hook to send an email to a mailing list.

I also think RepoGuard looks pretty interesting, but haven't had a chance to use it yet.

SVNPlot generate cool statistics from your Subversion repository

SvnQuery is very useful if you need to search the contents of a repository.

Coupling integration servers with version control does wonders to your build process. Two of my favorites are CruiseControl.NET and Hudson - but there's lots out there. Note that both of these work seamlessly with SVN.

I really like SyncroSVN (I'm using it on a Mac) Easy to use, built in dif and SSH support.

I agree with Peter D and Gabriel Florit; in Eclipse you get a gui and you can easily move around in the svn repository, deleting or renaming or whatever. And with Hudson I have it check out my projects and build them and run their unit tests.

I haven't really explored it, but Maven has plugins for subversion. I use Maven for building and deploying but haven't used it with the subversion plugin.

I would add a normal Subversion commandline client (e.g. from SlikSvn). By far the easiest way to script and/or automate subversion commands.

And maybe SharpSvn if you need more scripting power or when you would like to integrate Subversion support in your own .Net application. (AnkhSVN, Svn Monitor and several other tools are built on top of the SharpSvn binding).

Related