SvnServe On Windows With Active Directory Authentication

Go the dead simple route and just install Visual SVN server.

http://www.visualsvn.com/server/

Install it on a server joined to your Active Directory. You now have SVN over http(s) with AD authentication. Manage permissions using the handy dandy MMC tool it comes with. From 0 to deployed in about 15 minutes.


Be aware that file:// access is not recommended for SVN repositories, its more for admin tools. The problem with the file access is that you have no server in the middle to make sure all writes are written correctly. So stop using it ASAP.

Svnserve (or Apache) is much better but you will have the same performance issues - its not going to get better because your network uses http or svn protocols instead of smb. If your access is slow today, it'll still be slow unless you do something about your network or filesystem (or whatever else is making it slow).

However, migrating to Apache or Svnserve is worth doing in itself.

There is an issue with svnserve and the sasl libraries, as mentioned on the svn mailing list recently. The problem is that svn protocol doesn't allow plain text but plain text auth only is allowed by the saslauthd. End result - it just doesn't work, and is a known issue.

Its not all bad though, if you're running on Windows, just install VisualSVN Server. Its a top piece of packaging, and provides you with an Apache install, running as a windows service complete with snap-in management, and active directory authentication with just one click of a radio button during installation. You can even put acls on directories or files in the repo.

If not, I'd still recommend Apache as the configuration for it is better documented, and it does support LDAP auth (which works with AD). There's plenty of blog posts describing how to do this.

Performance of http instead of svn will be slower, but I doubt you'll notice it unless you install both side-by-side and checkout/commit a large directory. Try it - you can serve an Apache-served repo with Svnserve at the same time. (though I'd verify that claim before putting it into practice).