Jump to: navigation, search

Gyrex/Contributor Guide/Committer Resources

< Gyrex‎ | Contributor Guide
Revision as of 09:02, 1 February 2010 by Gunnar.wagenknecht.org (Talk | contribs) (Workspace Setup)

This page lists useful tips and articles for developers interested in working with/at the Gyrex code base.

Source Control

Our regular (primary) SCM is CVS.

Anonymous CVS Checkout

cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/technology co org.eclipse.gyrex

Comitter CVS Checkout

export CVS_RSH=/bin/ssh
cvs -d :ext:your_committer_id@dev.eclipse.org:/cvsroot/technology co org.eclipse.gyrex

Git Mirror

There is a public Git Mirror maintained by the Eclipse Webmaster.


Git Experiment

Gyrex participated in the Eclipse.org Git experiment. This provides Git repositories for Gyrex committers. However, CVS still is the primary SCM and therefore changes has to be committed to both. They way this works requires some overhead for committers.

1. Create a clean Git repository containing all the CVS stuff. This might take a while.

cd <your_gyrex_development_folder>
mkdir gyrex-cvsimport.git
cd gyrex-cvsimport.git
(export CVS_RSH=/bin/ssh)
git cvsimport -d :ext:your_committer_id@dev.eclipse.org:/cvsroot/technology org.eclipse.gyrex

2. Create a clone of that repository to work with (we'll call it "working copy").

cd <your_gyrex_development_folder>
git clone -l gyrex-cvsimport.git gyrex-wc.git

3. Import that clone into your Eclipse workspace and start editing. You may use EGit to work with the repository.

4. From time to time you need to sync with changes in CVS.

First import the new CVS stuff into your "clean" CVS Git repository

cd <your_gyrex_development_folder>
cd gyrex-cvsimport.git
git cvsimport -p x -v -d :ext:your_committer_id@dev.eclipse.org:/cvsroot/technology org.eclipse.gyrex

Next, pull the changes into your Git "working copy".

cd <your_gyrex_development_folder>
cd gyrex-wc.git
git pull

5. Once you have modifications ready to commit, you need to use git cvsexportcommit to "export" the changes into a clean CVS working copy.

First, create the CVS working copy

cd <your_gyrex_development_folder>
mkdir gyrex-cvsexport
cd gyrex-cvsexport
export CVS_RSH=/bin/ssh
cvs -d :ext:your_committer_id@dev.eclipse.org:/cvsroot/technology co org.eclipse.gyrex

Next, select the commits from your Git working copy which should be committed to CVS.

cd <your_gyrex_development_folder>
cd gyrex-cvsexport
export GIT_DIR=<your_gyrex_development_folder>/gyrex-wc.git/.git/
git log

Now "export" the commits into the CVS working copy.

git-cvsexportcommit <commit_id>
unset GIT_DIR

Last (but not least) commit the changes to CVS.

(Modeled after http://issaris.blogspot.com/2005/11/cvs-to-git-and-back.html)

Workspace Setup

Please have a look at Preparing_Your_Workspace_For_Developing_Gyrex.