在一次使用中出现以下信息:
$ svn commit -m ''
svn: 提交失败(细节如下): svn: 无法识别的URL方案(一般需要svn://,http://,file://等开头)“https://xxx/svn/trunk”
说明我的svn客户端不能通过https访问资源服务,缺少什么?再看下其它信息:
$ svn --version
svn,版本 1.5.5 (r34862) 编译于 Jan 5 2009,23:57:18 Copyright (C) 2000-2008 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). 可使用以下的版本库访问模块: * ra_svn : 使用 svn 网络协议访问版本库的模块。 - 处理“svn”方案 * ra_local : 访问本地磁盘的版本库模块。 - 处理“file”方案
原来通过http访问是没问题的,说明这个svn缺少ssl支持。
回想前面安装svn1.5.5是没有把ssl编译进去,可能这里出了问题。
$sudo apt-get install libssl-dev
重新安装subversion1.5.5
$ ./configure --with-ssl
这里没有问题,但是后面死活安装不上(make就不通过)。
既然我没安装成,这时我想卸载以前安装的subversion,再重新安装,于是就
$sudo apt-get remove subversion
完成后,看看还存在不?奇迹发生:
$svn --version
svn,版本 1.5.5 (r34862)
编译于 Jan 7 2009,23:26:00
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
可使用以下的版本库访问模块:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- 处理“http”方案
- 处理“https”方案
看到和上面的版本信息不同的地方,就是已经有处理https的方案,这么说已经支持了https。试了一下以前不能checkout的https资源,现在可以了。无意中解决这个问题。在安装libssl-dev时提示要重启机器,我没重启,后来临睡前重启了一下机器,再做了remove subversion的操作,就这样了。
总之原因比较诡异,现在想想可能有:重启机器、删除以前版本(以前是1.4.6),那个呢?
还是洗洗睡去!
没有评论:
发表评论