threads / bug / 16137

git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Subject: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

## tl;dr

7 messages between Nov 2, 2008 and Nov 3, 2008.

replies: 6people: 5as markdown or json

Francis Galiegue· Nov 2, 2008, 21:03 UTC · lore

Maybe it's due to the other bug that I reported with git-cvsimport a few days ago: namely, it does NOT see branches created by CVS with no commits in them (ie, create the branch and that's it, don't touch anything).

The problem is very serious, since it seems to trigger another bug which prevents git-cvsimport from working at all. cvsps DOES see the commit correctly (branc exists for this file at 1.47.6):

---
Members:
        
src/java/com/one2team/database/bean/impl/relation/reporting/Register.java:1.47->1.47.6.1
---

But on the imported git repository, the diff is rather 1.60 -> 1.47.6.1! As a result, the repository is plain unusable.

As to the first problem, git finds 6 branches, cvs log finds 8 for the same module. git finds 22 tags, cvs log finds 29!

-- 
fge
Tomi Pakarinen· Nov 2, 2008, 22:21 UTC · re: Francis Galiegue · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

CVS's branch does not appear on cvsps's output, until you do a commit to it. git-cvsimport relies on cvsps and can not do much about this...

Last problem may arise, if you try to do incremental imports from cvs to git. For incremental imports you must start import from same location in cvs each time. If you have made first import from beginning of history, sequent imports must start from there too. Otherwise cvsps will renumber patch sets.

  Tomi.
On Sun, Nov 2, 2008 at 11:03 PM, Francis Galiegue <fg@one2team.net> wrote:
Show 27 quoted lines
> Maybe it's due to the other bug that I reported with git-cvsimport a few days
> ago: namely, it does NOT see branches created by CVS with no commits in them
> (ie, create the branch and that's it, don't touch anything).
>
> The problem is very serious, since it seems to trigger another bug which
> prevents git-cvsimport from working at all. cvsps DOES see the commit
> correctly (branc exists for this file at 1.47.6):
>
> ---
> Members:
>
> src/java/com/one2team/database/bean/impl/relation/reporting/Register.java:1.47->1.47.6.1
> ---
>
> But on the imported git repository, the diff is rather 1.60 -> 1.47.6.1! As a
> result, the repository is plain unusable.
>
> As to the first problem, git finds 6 branches, cvs log finds 8 for the same
> module. git finds 22 tags, cvs log finds 29!
>
> --
> fge
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Francis Galiegue· Nov 2, 2008, 22:31 UTC · re: Tomi Pakarinen · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Le Sunday 02 November 2008 23:21:44 Tomi Pakarinen, vous avez écrit :
> CVS's branch does not appear on cvsps's output, until you do a commit
> to it. git-cvsimport
> relies on cvsps and can not do much about this...
>

Well, there's another file that cvsps generate (in $HOME/.cvsps) that helps here and that is named ":<method>:<method_args>:#path#to#cvsroot#modulename." This file contains the needed information. As far as I can see though, git-cvsimport does not use it.

Show 7 quoted lines
> Last problem may arise, if you try to do incremental imports from cvs to
> git. For incremental imports you must start import from same location in
> cvs each time.
> If you have made first import from beginning of history, sequent
> imports must start
> from there too. Otherwise cvsps will renumber patch sets.
>

The plan would be to convert all modules in one go, with no one committing in the meantime, so that's not a problem.

I'll try and dig a little deeper into git-cvsimport and see if I can make it use this information...

-- 
fge
Michael Haggerty· Nov 3, 2008, 14:52 UTC · re: Francis Galiegue · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Francis Galiegue wrote:
> The plan would be to convert all modules in one go, with no one committing in 
> the meantime, so that's not a problem.

Then you should definitely try cvs2svn/cvs2git [1]. cvsps-based conversion tools all have known and unavoidable problems due to the limitations of cvsps.

Michael (the cvs2svn/cvs2git maintainer)

[1] http://cvs2svn.tigris.org/cvs2git.html
Samuel Lucas Vaz de Mello· Nov 3, 2008, 19:03 UTC · re: Michael Haggerty · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Michael Haggerty wrote:
Show 8 quoted lines
> Francis Galiegue wrote:
>> The plan would be to convert all modules in one go, with no one committing in 
>> the meantime, so that's not a problem.
> 
> Then you should definitely try cvs2svn/cvs2git [1].  cvsps-based
> conversion tools all have known and unavoidable problems due to the
> limitations of cvsps.
> 
Michael,
Does cvs2git plans to support incremental importing?
 - Samuel
Shawn O. Pearce· Nov 3, 2008, 19:08 UTC · re: Samuel Lucas Vaz de Mello · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Samuel Lucas Vaz de Mello <samuellucas@datacom.ind.br> wrote:
Show 10 quoted lines
> Michael Haggerty wrote:
> > Francis Galiegue wrote:
> >> The plan would be to convert all modules in one go, with no one committing in 
> >> the meantime, so that's not a problem.
> > 
> > Then you should definitely try cvs2svn/cvs2git [1].  cvsps-based
> > conversion tools all have known and unavoidable problems due to the
> > limitations of cvsps.
> 
> Does cvs2git plans to support incremental importing?

No, it doesn't, and likely never will. Computing the change sets from CVS is ugly and more-or-less requires that you do it all in one pass.

-- 
Shawn.
Michael Haggerty· Nov 3, 2008, 19:40 UTC · re: Samuel Lucas Vaz de Mello · lore

Re: git-cvsimport BUG: some commits are completely out of phase (but cvsps sees them all right)

Samuel Lucas Vaz de Mello wrote:
Show 9 quoted lines
> Michael Haggerty wrote:
>> Francis Galiegue wrote:
>>> The plan would be to convert all modules in one go, with no one committing in 
>>> the meantime, so that's not a problem.
>> Then you should definitely try cvs2svn/cvs2git [1].  cvsps-based
>> conversion tools all have known and unavoidable problems due to the
>> limitations of cvsps.
> 
> Does cvs2git plans to support incremental importing?

Nope. It would be very difficult to get it right, and I've pretty much run out of hacking time with the birth of my second child. But I'd be happy to help any volunteers get started :-)

Michael

← back to recent threads