so svn 1.5 is finally out with all sorts of new features, most notably merge tracking and changesets or changelists as they call them.
i had a bit of trouble getting this fully working so I’ll document a few of my findings below.
using mac ports there was already a port available last Friday only hours after the final release of 1.5.
upgrading should be as easy as …
$ sudo upgrade subversion
however i ran into a slight snag when trying to commit to using ssh …
...
svn: Commit failed (details follow):
svn: Cannot negotiate authentication mechanism
...
weird i can svn ls the repo through ssh, even do a full check out from svn+ssh, but doesn’t want to let me commit
so i started googling and asking around #svn on irc …
seems to only have problems with the commit part which is weird, not just general ssh failure
interesting replies from irc …
yaroslav: kfogel: unfortunately subversion is broken for macports (svn+ssh) but i already had my wr converted to 1.5, so i just reconverted it back to 1.4 and using “out of the box” leopard svn
11:57 AM
yaroslav: kfogel: not sure, but i saw something while googling groups. it is a bug with authentication it seems to me — seems like svn+ssh is using some other port for doing authentication and this port is outdated.. i got this while ci’ing to rubyforge.org with svn+ssh, for example: svn: Cannot negotiate authentication mechanism
also looking at my .subversion/config … might be something changed in there
notice there are some auth options as well
--no-auth-cache : do not cache authentication tokens
didn’t seem to work though … still searching for an answer , now seemed to be SASL related … started looking at error logs … secure.log seemed interesting …
Jun 24 12:13:56 MacBook-Pro-PJ-Khalil svn[66136]: No worthy mechs found
guess my mech is not worthy
so did a bit more googling about mechs …. turns up bunch of cyrus sasl errors.
hmm wondering if i need to install the sasl libs and install the sasl variant of subversion from ports will fix the ssh problems … guess we’ll see
$ sudo port install cyrus-sasl2
$ sudo port install libgsasl
actually don’t need that step but it can’t hurt …
just do this …
$ sudo port deactivate subversion
---> Deactivating subversion 1.5.0_0+bash_completion+mod_dav_svn+tools
...
$ sudo port install subversion +bash_completion +mod_dav_svn +tools +sasl
probably not necessary to install both sasl libs, but just to be safe couldn’t really hurt.
adding the +sasl will download the depenencies it needs (cyrus-sasl2) and we’re back in business
aha … now it all makes sense … from $ svn –version
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
so ya basically adding the sasl libs plus sasl variant seems to fix the svn+ssh problems with macports and svn 1.5 weee
now back to auto merging changesets and committing through ssh.