[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Re: NTCVS to Subversion conversion tool

From: Williams, Robert E <Robert.E.Williams_at_maine.gov>
Date: Tue, 22 Jan 2008 22:28:35 -0500

Thank you for the information, it is most helpful.
Robert

-----Original Message-----
From: Trevor Schaffer [mailto:TrevorSchaffer_at_smarttech.com]
Sent: Thursday, January 17, 2008 2:41 PM
To: users_at_subversion.tigris.org
Subject: Re: NTCVS to Subversion conversion tool

Assuming you want all revision history, this might help. If you don't
want revision history, then all of this is a moot point.

I've done this on some very large repositories, and it can be done, if
you take great care (or keep trying it until it works)

The cvs2svn script works for CVSNT for 95% of what you need to do. The
only parts that might fail are if you save files as Unicode. CVSNT
fakes Unicode by saving the file as UTF-8, and expands it during
update/checkout. This can be "fixed" by changing the CVS files to mark
these Unicode files as binary files, then convert them later.

Flags to look for in CVS files:
"kopts u" and "expands u"
- These specify the file as Unicode, which cvs/rcs doesn't support.
This line can be removed from the *,v file, but remember to keep the
file name in a list so you know which files to convert back to UTF16 if
needed once the conversion to svn is done.
  
Another thing that you will NEED to do is set appropriate svn:mime-type
and svn:eol-styles. In the case where someone checks a binary file into
CVS as non-binary, the svn import will treat the file as text and
corrupt the file with modified newline characters. This might not
always work (it was nearly a year ago when I did it, so my memory is a
little fuzzy on this detail).

Finally, since cvs2svn takes the entire revision history, if there are
any files in the repository that are corrupt at only certain revisions
(which CVSNT has been known to do... a lot), you may have to either
"massage" the *,v file to make the revision clean, or remove that file
completely, and check it back in manually.

Just ensure that if you get the cvs2svn script to go through
successfully, do a full checkout of the branches that you need to work
on, and do a full recursive diff of the same revision on CVS to ensure
that the data is in fact the same, then fix the files that didn't make
it.

> Feed: Subversion-users Mailing List Threads
> Posted on: Thursday, January 17, 2008 10:55 AM
> Author: Subversion-users Mailing List Threads
> Subject: NTCVS to Subversion conversion tool

> Can anyone send me a link or more information about a conversion
utility for converting out of NTCVS and > into Subversion? If a utility
does not exist, has anyone done this before? If so, how much of a bear
was > it to do the conversion? Thanks ...

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-23 04:29:08 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.