Subject: Re: Syncing with CVS

From: Boaz Harrosh <[email-masked]>
Date: Mon, 19 Jan 2009 12:58:44 +0200

Christian von Kietzell wrote:
> Hi,
> 
> I have a project I started in git. After a while I exported that to
> CVS via git cvsexportcommit which worked quite nicely. Now, a
> colleague made changes to the project - in CVS. What's the best way to
> get those back into my git repository so that I'll be able to sync
> back and forth between git and CVS? I had a quick look at the wiki but
> couldn't find anything appropriate.
> 
> I know of git cvsimport, of course, but that doesn't work on my
> original repository. Or does it? I didn't find anything on how to
> limit what to import. After all, some of the commits are already in my
> repository (the ones I exported).
> 
> Hope any of you can help. Thanks in advance.
> 
>   Chris

I would "git cvsimport" into temporary new git.
Then "git remote add cvs_import that_temp_git" into the main git
Then find the point of the common base, do
"git tag CVS_GIT_BASE that_base_commit_uid"
"git checkout -b cvs_import cvs_import/master"
"git rebase --onto master CVS_GIT_BASE"

So in fact I'm just cherry-picking the additions from CVS
and reapplying on to original git tree. If you want it more
automatic you'll need to do the above in a script with some
kind of naming conventions for your git tags and CVS's tags
at points of sync.

Boaz