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

Working with Git and CVS in a team.

From
Mirko Stocker <mirko.stocker@hsr.ch>
Date
Jun 13, 2008, 14:33 UTC
Message-ID
<200806131633.34980.mirko.stocker@hsr.ch>
Hello,

Our team works on an existing project that's in CVS, but we don't have the permissions to commit directly to it. We still need to make changes and want to stay as up to date as possible, so we are trying to use git to track the CVS repository and to collaborate inside the team.

Now, I'm quite new to git, so I'm not sure if the solution I created is "correct", not way too complicated, or if there are problems waiting for us.

git-cvsimport seems to be the solution, so I've established the following structure:

+-----------------+
| dev.eclipse.org |
+-----------------+
        ^
        | (1)
        |         (2)                      (3)
+---------------+      +---------------+        +------------+
| ifs:/from-cvs | ---> | ifs:/git-proj | <----- | Merge-Dude |
+---------------+      +---------------+        +------------+
                          /           \
                         /             \
                        /               \
                    +------+         +------+
                    | User |   (4)   | User |
                    +------+         +------+
1) I use git-cvsimport to update the repository every night. /git-proj
   is a "clone --bare" of the /from-cvs repository.
2) After the import, I push the changes from CVS to /git-proj using
   'git push /git-proj origin'.

This first two steps can be done with a cronjob, there shouldn't be any conflicts.

3) Then we have the role of a "Merge-Dude" who pulls the changes from
   /git-proj and uses 'git merge origin/origin' to update his master.
   If there are any conflicts, he resolves them and pushes everything
   back to the master at /git-proj.
4) The users can just push and pull from /git-proj.
>From time to time, we can use 'git diff origin/origin' to get a patch
with all the changes we made and have to send upstream.
What do you guys think, is this approach feasible?

What I don't like is how we have to make the upstream patch(es). Is there an easy way we can get multiple patches, lets say for each commit we made? Or is it easier to make a lots of branches and to then create a patch from the diff between the branch and origin/origin?

Wow, this got longer than I expected. Thanks in advance!
Mirko Stocker
Next: Miklos Vajna
Message 1 of 14 in “Working with Git and CVS in a team.”
  1. Mirko StockerJun 13, 2008
  2. Miklos VajnaJun 13, 2008
  3. Mirko StockerJun 13, 2008
  4. Miklos VajnaJun 13, 2008
  5. Mirko StockerJun 15, 2008
  6. Miklos VajnaJun 15, 2008
  7. John J. FraneyJun 16, 2008
  8. Jakub NarebskiJun 16, 2008
  9. Jeff KingJun 13, 2008
  10. Mirko StockerJun 13, 2008
  11. Jeff KingJun 13, 2008
  12. Mirko StockerJun 15, 2008
  13. Jeff KingJun 15, 2008
  14. Mirko StockerJun 16, 2008

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.