hg convert - can't read from repo type
David Champion
dgc at uchicago.edu
Thu Nov 1 13:58:50 CDT 2007
> I successfully did a conversion (I think) but have some questions. The
> conversion took nearly 14 hours. Is that typical? I ran with --profile,
> here are the top two functions:
>
> ncalls tottime percall cumtime percall filename:lineno(function)
> 1425916 27147.181 0.019 27147.181 0.019 socket.py:321(readline)
> 203702 21658.809 0.106 21658.809 0.106 socket.py:278(read)
I expect that much of this time was just waiting for cvsps. Cvsps
produces a cache in ~/.cvsps though. How long does it take to convert
the repo again (to a new destination directory)? I'd expect this to be
substantially less than 14 hours.
Cvsps must do a lot of work to convert the entire unordered per-file
history of a large project into an ordered changeset list. My bet is
that's what most of the time is, but it only applies the first time you
convert. And you can use the convert extension to track updates in the
upstream cvs repo, too; cvsps only looks at the changes since its last
cached state.
> $ hg status | wc -l
> 11707
>
> Why are there all these uncommitted files? Every one is preceded by a
> question mark indicating it is a new file. Is the proper procedure to follow
> this with an hg checkout? This was unexpected. Is there anything else
> I need to do?
In my largest converted project, there were several ancient cvs branches
that were never merged into the trunk. In hg, these are represented as
multiple heads, and when the convert was done one of these heads was
the currently checked-out revision. I followed convert with "hg up -C
tip" to get back to modern times, and the result was consistent with my
expectation.
--
-D. dgc at uchicago.edu NSIT University of Chicago
"Polka music needs to prevail." John Ziobrowski, Polka America Corporation
More information about the Mercurial
mailing list