关于 svn: Expected FS format '2'; found format '4' 错误

虫虫 发布于 2011/11/02 10:19
阅读 2K+
收藏 0
SVN

USVN访问版本库遇到如下错误:

Can't list subversion repository: svn: Unable to open an ra_local session to URL svn: Unable to open repository 'file:///data/svn/svn/makingware_ee' svn: Expected FS format '2'; found format '4'

Trace:

/data2/web_server/usvn/library/USVN/SVN.php:44 USVN_SVNUtils::listSvn
/data2/web_server/usvn/app/controllers/ProjectController.php:105 USVN_SVN::listFile
/data2/web_server/usvn/library/Zend/Controller/Action.php:503 ProjectController::indexAction
/data2/web_server/usvn/library/Zend/Controller/Dispatcher/Standard.php:285 Zend_Controller_Action::dispatch
/data2/web_server/usvn/library/Zend/Controller/Front.php:934 Zend_Controller_Dispatcher_Standard::dispatch
/data2/web_server/usvn/public/index.php:5 Zend_Controller_Front::dispatch

 

经过两天的研究,最终找到问题所在:

是因为服务器上实际运行的SVN版本是 1.4 的,在 /usr/bin 下面,而不是 /usr/local/bin 下面那个 1.6版本,所以就报这个错了。

具体原因参考 http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2424731

用Apache + SVN 这种方式访问版本库就很有可能遇到这个问题。因为每一个HTTP请求都会运行一个svnserve,而这个调用是由apache在无界面的环境下完成的。这个运行环境的path设置很有可能是和正常用户的环境是不一样的,比如这里遇到的svn路径不一样的问题。

把系统自带的 Subversion 1.4 卸掉,然后 ls - /usr/local/bin/svn /usr/bin/svn 就好了。

// 这种就属于解决方法很简单,但是找到原因极其困难的问题,记录一下

加载中
返回顶部
顶部