解决svn: Cannot negotiate authentication mechanism错误问题
作者:wangzz
转载请注明出处

前言:

在企业项目开发中,svn是很常用的代码版本管理工具,我习惯了使用Xcode配合命令行进行svn管理。最近换了公司,郁闷的是新公司只能使用第三方svn管理工具,比如cornerstone来管理svn。

问题描述:

在Xcode上配置svn响应源的时候直接报错:Host is unreachable;

通过命令行访问svn的时候,比如执行svn update命令时,报错:svn: Cannot negotiate authentication mechanism(无法协商认证机制)。

原因定位:

针对上述问题,开始想解决办法。

1、由于公司的svn使用的是VPN网络,首先怀疑是VPN捣的鬼,因此开始着手配置VPN网络,倒腾了半天,问题未解决,此路不通。

2、求助李鹏同学,他在一个论坛里找到了问题原因:是由于svn服务器开启了sasl加密,本地的Xcode和命令行中的svn不支持sasl加密导致无法协商认证机制问题。至此开始朝为电脑安装sasl的方向努力。很兴奋的到网上下了一个sasl安装包,安装以后并未起作用,很是纳闷。后来偶尔在一篇博客中看到,较高版本的svn已经支持sasl加解密了,于是开始着手升级svn版本。目前我用的MAC OS10.8系统支持的svn最新版本是:1.7.11,而10.8系统和我的Xcode4.5.2自带的的svn版本是1.6.18,开始寻找升级方案。

问题解决:

从网上找了svn安装包的下载地址:http://www.wandisco.com/subversion/download#osx

找到了自己系统支持的版本,由于是dmg文件,安装很方便,程序会安装到/opt/subversion目录下面。接下来还需要做些配置设置:

1、替换系统原来的svn

系统的svn安装目录是:

/usr/bin/svn

可以通过以下方式查看:

$ ls /usr/bin/svn*
/usr/bin/svn /usr/bin/svndumpfilter /usr/bin/svnrdump /usr/bin/svnsync
/usr/bin/svnadmin /usr/bin/svnlook /usr/bin/svnserve /usr/bin/svnversion

①先把这些文件删除,不放心的话可以先备份一下,执行以下删除命令:

sudo rm -rf /usr/bin/svn*

②建立svn安装目录到系统安装目录的链接,执行以下命令:

sudo ln -s /opt/subversion/bin/svn* /usr/bin/ 

③验证是否升级成功

执行命令:

svn --version

验证是否安装了新的svn版本。

2、替换Xcode中的svn

由于系统和Xcode中使用的是两个不同的svn,要想在Xcode中使用svn还要单独配置。

不同版本的Xcode的svn目录可能稍有不同,我的4.5.2版本svn路径是:

/Applications/Xcode.app/Contents/Developer/usr/bin/

进到该目录后,执行以下命令,查看跟svn想管的文件:

$ ls svn*
svn svnadmin svndumpfilter svnlook svnrdump svnserve svnsync svnversion

①删除原来的svn文件,执行下面的命令:

sudo rm -rf svn*

②创建文件连接:

sudo ln -s /opt/subversion/bin/svn* .

3、升级旧版本svn更新下来的代码
如果你使用1.6版本的SVN客户端检出了代码,使用1.7版本的客户端的时候,可能会出一些版本不兼容的问题,解决办法是切入到代码工程所在根目录,执行以下命令进行转换

$ svn upgrade 

至此,问题解决!

解决svn: Cannot negotiate authentication mechanism错误问题的更多相关文章

  1. linux下svn客户端报错Cannot negotiate authentication mechanism的解决方法

    svn客户端报错Cannot negotiate authentication mechanism的解决方法: 问题出现的原因之一: 因为SVN服务器配置了saslauthd服务用来实现与ldap的对 ...

  2. svn报错:Cannot negotiate authentication mechanism

    在使用eclipse的svn插件连接osc的代码仓库时候,发生了以下错误: Cannot negotiate authentication mechanismsvn: Unable to connec ...

  3. svn:Cannot negotiate authentication mechanism

    解决方案:在eclipse->window->preference->team->svn中将svn接口设定为svnkit.

  4. 解决svn Authorization failed错误

    解决svn Authorization failed错误 (2010-09-22 21:37:31) 转载▼   出现该问题基本都是三个配置文件的问题,下面把这个文件列出来 svnserve.conf ...

  5. 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has not finished: run 'cleanup' if it was interrupted Please execute the 'Cleanup' command.

    解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has no ...

  6. 解决SVN CONNOT VERIFY LOCK ON PATH NO MATCHING LOCK-TOKEN AVAILABLE

    最近使用SVN,开发项目的时候,璞玉遇到一个问题.就是: connot verify lock on path  no matching lock-token available   connot v ...

  7. 解决svn "cannot set LC_CTYPE locale"的问题

    解决svn "cannot set LC_CTYPE locale"的问题 在ubuntu 8.10下安装的svn,在将Ubuntu的语言修改为英文之后,出现错误警告: $ svn ...

  8. 重启nova-scheduler服务,报错Login was refused using authentication mechanism AMQPLAIN

    问题描述 运行 systemctl restart openstack-nova-scheduler.service 失败,查看日志报错如下: 2019-12-22 14:52:27.426 1513 ...

  9. Oracle解锁,解决“ora00054:资源正忙”错误

    Oracle解锁,解决“ora00054:资源正忙”错误 一.处理步骤:--1.获取被锁对象的session_idSELECT session_id FROM v$locked_object; --2 ...

随机推荐

  1. express框架目录结构

    . ├── app.js ├── bin │   └── www ├── node_modules │   ├── body-parser │   ├── cookie-parser │   ├── ...

  2. 在Windows XP下手动安装Apache+MySQL+PHP环境 要点

    在整个wamp环境搭建中,本质的工作如下: 1,配置系统对php中dll文件能默认处于调用状态.在windos下,对dll文件系统默认处于调用状态的,有两种采用的方式.第一种是:把需要调用dll文件复 ...

  3. openstack安装记录(一)环境准备

    参考文献: 官方文档 http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/index.html 最小实例: 控制节点: 1 处理器, 4 ...

  4. 关于C#的一点小知识 以后自己用

    项目过程中遇到C#代码的编写 上网查之后的结果 @html.ActionLink的几种参数格式 一 Html.ActionLink("linkText","actionN ...

  5. 14.3.5.1 Interaction of Table Locking and Transactions 表锁和事务的相互作用

    14.3.5.1 Interaction of Table Locking and Transactions 表锁和事务的相互作用 LOCK TABLES 和UNLOCK TABLES 交互实用事务如 ...

  6. linux的NetworkManager服务(转)

    在开启NetworkManager服务的情况下,在终端下敲“service network restart”命令: 正在关闭接口 eth0: 设备状态:3 (断开连接) [确定] 正在关闭接口 eth ...

  7. Ruiy classicsQuotations

    1,IT界,许多人会称自己为菜鸟,而每只菜鸟都会有鹰的梦想; 2,把做十件事精力用来做一件事情,你事业就经典了;

  8. RHEL 6.3使用CentOS yum源 (redhat yum安装失败)

    由于Redhat的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件.所以yum install 命令每次都安装失败 下面介绍一种更改yum源的方式: 系统说明: 系统:Red ...

  9. 第一次用shell脚本来自动运行带参程序

    将目录下的part-开头的文件带入程序处理 #!bin/sh FILES=/data5/follow_relation_list_part_00000/part-* file="" ...

  10. lhgDialog

    应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...