hg convert in mercurial 1.2.1

Greg Ward greg-hg at gerg.ca
Wed Jul 8 19:26:52 CDT 2009


On Wed, Jul 8, 2009 at 2:25 AM, wind57<wind_57 at mail.ru> wrote:
>
> 1. First about upgrading, I am good for know with version 1.2.1 but I will
> read what's new and improved and consider upgrading.

But you've just reported a problem with 1.2.1.  So it's *not* working
for you.  The first thing you should have tried is upgrading to the
latest stable version, which is 1.3!  You don't have to switch your
entire workflow to 1.3, but it's a good idea to use the latest version
when doing conversions.

> 2. So I have a CVS Project called SSO (single sign on) that I am trying to
> convert to hg, here is the command that I am running :
>  mqbrkr at wind57-laptop:~/Desktop/Testing$ hg --debug --traceback convert SSO
>
> Here is the output that I am getting:
>
> assuming destination SSO-hg
> initializing destination SSO-hg repository
> using builtin cvsps
> collecting CVS rlog
> reading cvs log cache
> /home/wind57/.hg.cvsps/extssh.cvs-192-168-163-4.home-cvs.SSO.cache
> cache has 786 log entries

Total shot in the dark: try removing the cvsps cache, i.e. "rm -rf
~/.hg.cvsps".  This is almost certainly irrelevant, and *don't do it*
if you're doing an incremental conversion.  (And, if you're doing an
incremental conversion, keep in mind that it's impossible to do in
general.)

> running 'cvs' '-q' '-d:extssh:cvs at 192.168.163.4:/home/cvs' 'rlog'
 '-d>2009/06/15 15:54:30 +0000' 'SSO'

Hmmmm.  You might try with a different CVSROOT to the same repository.
 E.g. try configuring pserver access.  Or login to the server and run
it locally.  Or copy the repository to your client machine and pretend
it's the server, using a local CVSROOT.  There are lots of ways to
access the same CVS repo, and I have personally never tried SSH access
with hg convert.

>  File "/var/lib/python-support/python2.6/hgext/convert/cvs.py", line 274,
> in _connect
>    raise util.Abort(_("server sucks"))
> Abort: server sucks
> abort: server sucks

...and that is a lousy error message.  What Mercurial is *really*
trying to say is this:

  Unexpected response from server (expected "Valid-requests", got "...")

where the "..." needs to be filled in by Mercurial at runtime.

Oh!!!  One possibility: maybe the account to which you are ssh'ing has
broken login scripts.  Try running

  ssh cvs at 192.168.163.4 /bin/true

If that prints anything, that's almost certainly your problem.

However, the poor error reporting is definitely a Mercurial bug.  I'll
submit a patch.

Greg



More information about the Mercurial mailing list