Working with Git and CVS in a team.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux