近来在用hg clone新的repository的时候, 经常出现以下错误:
remote: abort: requirement 'fncache' not supported!
abort: no suitable response from remote hg!
网上找了一下, 最靠谱是以下这个方案:
即, 在repository的源位置, 删掉.hg/requires中的fncache,这样固然可以, 但是总有些不好, 一方面, 更改别人repository的设置不妥, 另一方面则是, 有可能自己根本不能访问这个文件.
根据: http://mercurial.selenic.com/wiki/fncacheRepoFormat, 可以知道, 只要mercurial 1.1.1以上的版本, 都可以支持fncache, 这就太奇怪了, 因为我客户端用的是1.3.1, 而且我搜了一下源代码, 确实很多地方都带有fncache的, 可见我本地的hg没问题.
登录上远程机器一看, 才发现, 是远程机器上hg的问题.
很早的时候, 为了方便, 自己编译了一份hg放在自己的目录下, 并且修改了PATH, 使得默认使用这个hg程序,且此hg程序版本不足1.0, 导致了这问题.
于是我赶紧修改远程机器的.bashrc,去掉了对PATH的设置.
再在本机运行hg clone,发现那错误不再有.
弄来弄去, 原来是这个问题, 实在汗颜. 其实一个多月前, 我就碰到此问题, 当时没考虑太多, 就直接修改了远程机器上的.hg/requires. 结果弄一个新的Repository,此问题再度出现,弄得又要忙一番.
阅读(1694) | 评论(0) | 转发(0) |