Question

How can you import cvsnt repositories into git and maintain history? Are there any limitations?

We are currently planning to change our work source control from CVSNT to something new. A colleague who will be responsible for rolling it out is advocating SVN. His only objection to GIT is a belief that importing history from CVSNT to GIT is unreliable.

I have seen post such as this one: cvsimport still not working with cvsnt

Is this still a real problem?

If so are there reliable solutions?

Was it helpful?

Solution

You are best trying it to see. If you perform the conversion then compare the resulting checked out tree with your CVS checked out tree and they match up then it is likely working. Some repositories can have trouble being converted - I know using CVS vendor branches can be a problem. I found for our work CVSNT repository that the cvs2git program (which is based on cvs2svn btw) produced the best version. To validate it is compared the tip of each branch we care about with the cvs checkout and once a few unicode screwups were fixed it was a perfect match (these were registry files that had been broken when committed to cvs - not a conversion to git error).

There is, to my knowledge, nothing that would read the CVSNT specific commit-id field to recreate the same changesets. So the programs available will all work out the changesets using time/commit message heuristics and so are potentially able to get it wrong. All I can say really - is cvs2git worked ok to convert our 10 year old cvs repo. Try it and check it carefully.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top