Converting from CVSNT

Giampaolo Fadel gp.fadel at gmail.com
Thu Jun 25 03:26:48 CDT 2009


Thanks Greg for the answer
> On Tue, Jun 23, 2009 at 4:05 AM, Giampaolo Fadel<gp.fadel at gmail.com> wrote:
>   
>> I have some CVSNT repository that I want to convert to HG. (The server
>> and the client are Windows XP).
>> I used the convert extension and all work fine except two points:
>> 1) The branches that in CVS are closed (merged to the main trunk), after
>> the import, they are not closed and they generated new heads.
>> This point is not important for me, my repositories are enough simple
>> and I can manually rearrange the history.
>>     
>
> What version of Mercurial are you using?  There have been a number of
> improvements to CVS conversion since 1.2.  You might try the latest
> development version (aka "crew" -- search the wiki for instructions).
> In particular, hg convert now recognizes CVSNT's "mergepoints".  If
> your ,v files record where a merge happened, this might help you.
>
>   
Mercurial 1.2.1. Yes, I saw in the crew history a lot of improvements 
concerning CVSNT and I wanted to test.

But, while I'm able to use Mercurial from source, following 
http://mercurial.selenic.com/wiki/WindowsInstall ,
and using the source of 1.2.1, I'm not able to build from the crew 
repository (each command give me a treceback
error: "NameError: global name WinIOError is not defined'). I'm not very 
good with Python and I'll spend more time to
investigate.

I've tested with TortoiseHg0.8preview that has the version 288ba6d6c5c7 
of hg (the current tip) but I'have a different
traceback error: "AttributeError: 'logentry' object has not attribute 
'mergepoint'".
> If not, you can always use the existing convert.cvsps.mergefrom config
> setting.  That existed in 1.2 and has not change significantly.  "hg
> help convert" for details.
>
>   
I'll investigate
>> 2) All line of text files end with LF and not with CR LF.
>> This point is more important because the source files after the import
>> are, de facto, different.
>>     
>
> That's probably because 1) CVS assumes everything is text unless told
> otherwise, 2) CVS stores text files with LF in the repository,
> regardless of what the client uses, and 3) Mercurial preserves the
> data in the CVS repository byte-for-byte.  (Disclaimer: all my
> knowledge and experience is with CVS on Unix, not CVSNT.  The very
> idea that someone would use Windows as a server OS makes me shudder.)
>
> You might want to look into the win32text extension.  That will let
> Mercurial continue to store text files using with LF, while making
> your working copies readable to Windows.
>
>   
Ok, win32text extensions works fine. thanks
> Also, be warned that it's extremely difficult to convert a CVS
> repository with branches or tags, and hg convert does not always get
> it right.  If you care about an accurate conversion of history, you
> might want to look at a two-step process starting with cvs2svn.
>   
I've already tried cvs2svn and then convert to hg but the result was 
worst, the result was about 20
unlabelled branch that in the original repository doesn't exist.

Paolo
> Greg
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://selenic.com/pipermail/mercurial/attachments/20090625/8965ec7d/attachment.htm 


More information about the Mercurial mailing list