macports subversion 1.5 ssh sasl problems

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 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 :P

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.

Post a Comment

Your email is never published nor shared. Required fields are marked *