[Top][All Lists]
[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
- conversion to git, Eric Blake, 2007/09/19
- cvsimport bug on branches [was: conversion to git], Eric Blake, 2007/09/20
- Re: cvsimport bug on branches [was: conversion to git],
Steffen Prohaska <=
- Re: cvsimport bug on branches [was: conversion to git], Linus Torvalds, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Robin Rosenberg, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Johannes Schindelin, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Robin Rosenberg, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Johannes Schindelin, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Robin Rosenberg, 2007/09/21
- Re: cvsimport bug on branches [was: conversion to git], Martin Langhoff, 2007/09/21
Re: cvsimport bug on branches [was: conversion to git], Eric Blake, 2007/09/21
Re: conversion to git, Eric Blake, 2007/09/24