1

Just want to notice: this issue is only about sharing mercurial using mercurial-server

Steps to reproduce:

  1. create new repository with hg init
  2. try to clone it through 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!
    
  3. edit .hg/requires file, remove dotencode property

  4. repeat step 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
    

Any ideas why it is happening and how I could fix it?

ps: it is mercurial 1.9 installed, and the command is performed from the same machine.

zerkms
  • 249,484
  • 69
  • 436
  • 539

2 Answers2

1

That happened because:

  1. I had mercurial site-packages installed in both /usr (new, from 1.9) and /usr/local (old, from 1.6). And hg-ssh had taken the old ones.

  2. hg-ssh needs to be patched a little

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

    should be replaced with

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

    and

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

    with

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

    accordingly

zerkms
  • 249,484
  • 69
  • 436
  • 539
1

The most recent release of mercurial-server, version 1.2, fixes this problem.

Paul Crowley
  • 1,656
  • 1
  • 14
  • 26
  • I hope it does *now* ;-) But there was no 1.2 that time – zerkms Sep 06 '11 at 22:10
  • 1.2 only came out a few days ago. No criticism was intended, I assure you, I just wanted to make sure this page had the most recent information! In case it's not clear, I'm the author of mercurial-server. – Paul Crowley Sep 09 '11 at 12:16
  • yep, I know you are. And I emailed you personally with this issue and its solution, but you didn't reply me :-( – zerkms Sep 09 '11 at 12:42