dotencode属性通过mercurial-server问题

时间:2011-07-13 11:07:26

标签: mercurial mercurial-server

只是想注意:此问题关于使用mercurial-server共享mercurial

重现的步骤:

  1. 使用hg init
  2. 创建新存储库
  3. 尝试通过mercurial-server克隆它:

    hg clone ssh://hg@192.168.132.72/test2 .
    remote: abort: There is no Mercurial repository here (.hg not found)!
    прервано: no suitable response from remote hg!
    
  4. 修改.hg/requires文件,删除dotencode属性

  5. 重复第2步:

    hg clone ssh://hg@192.168.132.72/test2 .
    изменений не найдено
    updating to branch default
    0 files updated, 0 files merged, 0 files removed, 0 files unresolved
    
  6. 任何想法为什么会发生以及我如何解决它?

    ps:安装了mercurial 1.9,命令在同一台机器上执行。

2 个答案:

答案 0 :(得分:1)

发生这种情况是因为:

  1. 我在/usr(新的,来自1.9)和/usr/local(旧的,来自1.6)中安装了mercurial site-packages。并hg-ssh取了旧的。

  2. hg-ssh需要修补一下

    dispatch.dispatch(['init', repo])
    

    应替换为

    dispatch.dispatch(dispatch.request(['init', repo]))
    

    dispatch.dispatch(['-R', repo, 'serve', '--stdio'])
    

    dispatch.dispatch(dispatch.request(['-R', repo, 'serve', '--stdio']))
    

    相应地

答案 1 :(得分:1)

最近发布的mercurial-server版本1.2修复了这个问题。