git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-cvsimport: missing branches
@ 2009-09-23 17:35 Reto Glauser
  2009-09-23 19:51 ` Heiko Voigt
  0 siblings, 1 reply; 2+ messages in thread
From: Reto Glauser @ 2009-09-23 17:35 UTC (permalink / raw)
  To: git; +Cc: Matthias Urlichs, mhagger

Hello

I need to use CVS with a history of about 20 years (someway back it was 
converted from SCCS to CVS). I have to stay in sync with the CVS 
repository to import changes from co-workers and to eventually commit 
changes back. I do have access to the RCS ',v' files.

So, git-cvsimport is exactly what I was looking for. Except, if I do a 
git-cvsimport I have a couple of branches missing, and I don't know why.

I see the branch names from cvsps in the output, but somehow 
git-cvsimport skips them anyway. I tried to add a branch manually which 
got mit a couple of years of history back, but then it stops anyway.

I used cvs2git from http://cvs2svn.tigris.org which shows me these 
missing branches.

So, my questions are:

- Is the problem in cvsps or git-cvsimport or in the CVS history?
- Can I use the cvs2git import as a starting point and later use 
git-cvsimport for incrementally update the git repository?
- Can I somehow compare the result of git-cvsimport and cvs2git to see 
differences?
- Is there any other feasible workflow to stay in sync with a CVS 
repository with a large history while still using git behind the scene?

Any pointers appreciated.

Regards,
Reto

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: git-cvsimport: missing branches
  2009-09-23 17:35 git-cvsimport: missing branches Reto Glauser
@ 2009-09-23 19:51 ` Heiko Voigt
  0 siblings, 0 replies; 2+ messages in thread
From: Heiko Voigt @ 2009-09-23 19:51 UTC (permalink / raw)
  To: Reto Glauser; +Cc: git, Matthias Urlichs, mhagger

On Wed, Sep 23, 2009 at 07:35:24PM +0200, Reto Glauser wrote:
> - Is the problem in cvsps or git-cvsimport or in the CVS history?

It is very likely a problem of cvsps. I have collected a couple of tests
illustrating the current limitations:

http://repo.or.cz/w/cvsps-hv.git

Interested in fixing some of them ?

> - Can I use the cvs2git import as a starting point and later use  
> git-cvsimport for incrementally update the git repository?

Unfortunately there is no robust incremental tool for cvs at the moment.
As soon as you get your colleagues to use git the pain just dissapears ;)

> - Can I somehow compare the result of git-cvsimport and cvs2git to see  
> differences?

How about a plain diff between the directory structures.

> - Is there any other feasible workflow to stay in sync with a CVS  
> repository with a large history while still using git behind the scene?

During the transition phase I used to track the old system with a
seperate branch. Everytime you get an update from CVS you simply
commit it to that branch. Its important that you do not mix this branch
with your development. You do not do any work on it just commit the
clean revision like you get them from the server.

I then used feature branches for the work which I rebased regularly.
Once you want to merge a branch comes the hard part:

A:
* Update the tracking branch from CVS

* Merge the first/next commit from the branch in git

* Commit to cvs and copy the commit message

* Goto A:

Maybe for cvs you can script this. You can also merge the whole branch at
once if you are lazy but then the diffs will not be nice when you later
completely migrate to git.

cheers Heiko

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-09-23 19:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-23 17:35 git-cvsimport: missing branches Reto Glauser
2009-09-23 19:51 ` Heiko Voigt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).