m4-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvsimport bug on branches [was: conversion to git]


From: Steffen Prohaska
Subject: Re: cvsimport bug on branches [was: conversion to git]
Date: Fri, 21 Sep 2007 07:18:50 +0200


On Sep 21, 2007, at 3:17 AM, Eric Blake wrote:

According to Eric Blake on 9/19/2007 5:13 PM:
I'm working on converting M4 to git.

The initial git conversion is complete.  Feel free to check it out:

http://git.savannah.gnu.org/gitweb/?p=m4.git

Unfortunately, after publishing this repository, I noticed that there is a bug in git-cvsimport, when a vendor branch is created that contains fewer files than the point it branched from. Those files were not removed from the commit on the new branch, which means the git repository contains too many files compared to what the CVS repository had for any checkout along
the branch.

[...]

git-cvsimport may have more problems, see e.g.

http://marc.info/?l=git&m=118385565913953&w=2
http://marc.info/?l=git&m=118260312708709&w=2


Now that the repository is published, what's the best way to correct the history for the git m4-1.4.1 tag, to correctly pick the m4-1.4 commit as its parent, and to omit the files that were intentionally omitted from the
CVS branch it was imported from?

Hard to say. The best is to avoid git-cvsimport if you need
to import branches correctly.

And you should do validate the result of any import by comparing
a working copy checked out from CVS with a working copy checked
out from git.

Never trust the cvs to git importers.


What needs to be done to git-cvsimport to make it recognize files that
were omitted from CVS branch creation points, to avoid this problem in the
first place?

I'd recommend not to use git-cvsimport but better use
a different converter.

For me parsecvs [1] works.

I'd also give cvs2svn's git support [2] a try.

cvs2svn strives much harder to report errors and handle complex
history correctly. parsecvs for example just crashes on corrupted
RCS files, while cvs2svn reports the problem. But if your CVS
repository is good parsecvs is much faster.

fromcvs/togit was also mentioned a couple of times on the list.
It worked for me the last time I tried it. But I did no in depth
validation of the result.

I still believe it would be good to add a warning to the
documentation of git-cvsimport and provide links to alternatives.

        Steffen

[1] http://gitweb.freedesktop.org/?p=users/keithp/parsecvs.git
[2] http://marc.info/?l=git&m=118592701426175&w=2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]