git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: GIT + CVS workflow query.

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 27, 2007, 00:36 UTC
Message-ID
<7vbqf2xmfr.fsf@assigned-by-dhcp.pobox.com>
In-Reply-To
<47281e410706261520r5b3549c7t39d93924d0a8ceea@mail.gmail.com>
"Eoin Hennessy" <eoin.hennessy@gmail.com> writes:
Show 8 quoted lines
> I'd like to use GIT to track changes in a CVS repository. As well as
> tracking changes, I will also need to push patches back to CVS from
> GIT. My workflow is currently as follows:
>
> - Use git-cvsimport to import and update a mirror of the CVS
>    repository; 'project.git'.
> - Pull changes from the mirror to a cloned working copy; 'project'.
> - Fix bugs in the working copy and push commits back to the mirror.

Fix bugs, yes, but push back to the mirror is probably not what you want.

> - Use git-cherry to identify commits in master not currently in the
>   branch updated by git-cvsimport. Then use git-cvsexportcommit to push
>   these commits into a CVS checkout.

What I do with my day-job project is that I keep a separate CVS checkout like you do, and

 - cvsimport keeps track of the "project.git" mirror as you do;
 - pull changes from that to my "project" as you do (but see below);
 - fix things in "project", as you do;
 - identify the needed changes with 'git-cherry' as you do;
 - exportcommit to push them back to CVS through the CVS checkout;
 
Then the next cvsimport will get my changes (among other
people's changes) to "project.git".  
 - fetch changes from the "project.git" to my "project";
 - 'git-rebase' my changes on top of the tip of "project.git";
This will remove the duplicates that I had but now are in CVS.
Previous: Yann Dirson
Message 3 of 3 in “GIT + CVS workflow query.”
  1. Eoin HennessyJun 26, 2007
  2. Yann DirsonJun 26, 2007
  3. Junio C HamanoJun 27, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.