P4 migration help

Frank A. Kingswood frank at kingswood-consulting.co.uk
Fri Feb 3 21:53:04 UTC 2012


On 03/02/12 11:17, Massimo Del Zotto wrote:

> I tried some hg convert calls with various settings on both the checked
> out files and the P4 depot itself as it appears convert can work on it.
> Both approaches failed with similar results. I'm out of ideas. I need help.

> HOME>hg convert -s p4 "p4_depot\..." "HOME\hg_depot_MYPROJECT"
...
>    File "hgext\convert\p4.pyo", line 76, in _parse
> EOFError: EOF read where object expected
>
> HOME>
> ------------------------------------
>
> Although the output specifically refers to a bug, I am unsure I should
> signal that as such. It appears to me I must be missing something.

I think the warning you get is unrelated to the p4 issue, but the EOF 
looks real. That error is from where the p4 conversion tries to read 
your client spec, and gets nothing, or an error.

What you passed in does not look like the sort of string that p4 convert 
can pull a client spec from.
It would normally be something like
	hg convert -s p4 //depot/client-spec-name/... myproject

Your client spec should include everything you want to convert, from 
your description you probably want everything so it should have

	Views:
	//depot/... //client-spec-name/...

Then you can try the conversion again.

The built-in conversion will work but is known to be slow and lacking in 
features. And it seems error handling is not good too, apologies. Some 
time after I wrote convert/p4 I created the Perfarce extension. It also 
allows you to convert/import revisions from p4 but also allows you to 
continue working in Mercurial, and sync files in both directions.

See the Mercurial wiki for a user guide:
	http://mercurial.selenic.com/wiki/PerfarceExtension

If you have the extension available and told Mercurial to load it, then 
the same conversion as above could be done with

	hg clone p4://depot/client-spec-name/ myproject

Hope this helps,

Frank
-- 
------------------------------------------------------------------------
Frank A. Kingswood                      frank at kingswood-consulting.co.uk
Cambridge, United Kingdom                               +44-7545-209 100



More information about the Mercurial mailing list