Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "RMF/Contributor Guide/Development Process"

< RMF
m (The Most Important Stuff)
(Added clearer indication of the use of Gerrit for code submission and review)
Line 1: Line 1:
 
We're still in the incubator phase - therefore, the release process is still being developed. Here are our guidelines so far:  
 
We're still in the incubator phase - therefore, the release process is still being developed. Here are our guidelines so far:  
  
== The Most Important Stuff ==
+
== Obtaining Sources  ==
 +
 
 +
One can browse the [http://git.eclipse.org/c/rmf/ RMF repositories].
 +
<p>To obtain a copy of a repository:</p>
 +
 
 +
=== From the command line ===
 +
  git clone https://git.eclipse.org/r/p/rmf/org.eclipse.rmf
 +
 
 +
=== From Eclipse with the [http://www.eclipse.org/egit/ EGit plugin] installed ===
 +
First, verify that the default repository folder as set on the main Git preference page is to your liking (Window > Preferences > Git).
 +
 
 +
*File > Import > Git > Projects from Git
 +
*URI
 +
*Enter URI: <code>https://git.eclipse.org/r/p/rmf/org.eclipse.rmf</code>
 +
*Import existing projects into the workspace from the newly created working directory
 +
 
 +
== Git workflow ==
  
*'''Important:''' Never commit to master! (unless you are the release manager). Development takes place on the develop branch.
 
 
*We use the [http://nvie.com/posts/a-successful-git-branching-model/ Git Flow Process] as our release process.
 
*We use the [http://nvie.com/posts/a-successful-git-branching-model/ Git Flow Process] as our release process.
 +
*'''Important:''' Never commit to master! (unless you are the release manager). Development takes place on the develop branch.
  
 
== Coding Guidelines  ==
 
== Coding Guidelines  ==
Line 11: Line 27:
 
*Don't format generated code (that makes it difficult to run diffs on generated code)
 
*Don't format generated code (that makes it difficult to run diffs on generated code)
  
== Contributing as Non-Committer at the University of Düsseldorf  ==
+
== Contributing using Eclipse Gerrit at https://git.eclipse.org/r ==
  
We will eventually use Gerrit to process contributions from Students to RMF. Those who want to contribute can set up their git as follows:  
+
We use [http://code.google.com/p/gerrit/ Gerrit Code Review] for Git based patch submission and review.  
 +
<p>Please read the [[Gerrit|Eclipse Gerrit wiki page]] for more details on how to set up your environment.</p>
 +
<p>Once set up, the submission command line looks like:</p>
 +
  git push ssh://sshusername@git.eclipse.org:29418/rmf/org.eclipse.rmf.git HEAD:refs/for/develop
 +
 
 +
You can find your ''sshusername'' on your Profil [https://git.eclipse.org/r/#/settings/ settings]&nbsp;to which you can&nbsp;allocate your [https://git.eclipse.org/r/#/settings/ssh-keys SSH public key].
 +
<p>It is also possible to [[Gerrit#Using_Gerrit_with_EGit|use Gerrit with EGit]]</p>
 +
 
 +
== Contributing as Non-Committer at the University of Düsseldorf  ==
  
*git clone git://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git -o eclipse
+
We will eventually use Gerrit to process contributions from Students to RMF. Those who want to contribute need to create a feature branch based off the develop branch, as show below (replace foobar with the name of your feature branch):  
*git checkout develop  
+
*git checkout -b foobar  
+
*git remote add cobra gitosis@cobra.cs.uni-duesseldorf.de:org.eclipse.rmf.git
+
*git push cobra foobar
+
*Edit .git/config and add:
+
  
   [branch "foobar"]
+
   git clone git://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git -o eclipse
remote = cobra
+
  git checkout develop
merge = refs/heads/foobar
+
  git checkout -b foobar
 +
  git remote add cobra gitosis@cobra.cs.uni-duesseldorf.de:org.eclipse.rmf.git
 +
  git push cobra foobar
 +
  git config branch.foobar.remote cobra
 +
  git config branch.foobar.merge refs/heads/foobar
  
 
Setup is now complete. To work on the code on branch foobar, do the following:  
 
Setup is now complete. To work on the code on branch foobar, do the following:  
Line 31: Line 54:
 
*Push (implicitly to cobra)  
 
*Push (implicitly to cobra)  
 
*To update from the Eclipse repository:  
 
*To update from the Eclipse repository:  
**git checkout develop  
+
  git checkout develop  
**git pull  
+
  git pull  
**git checkout foobar  
+
  git checkout foobar  
**git merge develop
+
  git merge develop
  
 
There may be a better way for doing all this. Please improve if you know how.  
 
There may be a better way for doing all this. Please improve if you know how.  

Revision as of 15:28, 30 July 2013

We're still in the incubator phase - therefore, the release process is still being developed. Here are our guidelines so far:

Obtaining Sources

One can browse the RMF repositories.

To obtain a copy of a repository:

From the command line

 git clone https://git.eclipse.org/r/p/rmf/org.eclipse.rmf

From Eclipse with the EGit plugin installed

First, verify that the default repository folder as set on the main Git preference page is to your liking (Window > Preferences > Git).

Git workflow

  • We use the Git Flow Process as our release process.
  • Important: Never commit to master! (unless you are the release manager). Development takes place on the develop branch.

Coding Guidelines

  • We use the default formating rules by Eclipse to format Java Code (Ctrl-Shift-F)
  • Don't format generated code (that makes it difficult to run diffs on generated code)

Contributing using Eclipse Gerrit at https://git.eclipse.org/r

We use Gerrit Code Review for Git based patch submission and review.

Please read the Eclipse Gerrit wiki page for more details on how to set up your environment.

Once set up, the submission command line looks like:

 git push ssh://sshusername@git.eclipse.org:29418/rmf/org.eclipse.rmf.git HEAD:refs/for/develop

You can find your sshusername on your Profil settings to which you can allocate your SSH public key.

It is also possible to use Gerrit with EGit

Contributing as Non-Committer at the University of Düsseldorf

We will eventually use Gerrit to process contributions from Students to RMF. Those who want to contribute need to create a feature branch based off the develop branch, as show below (replace foobar with the name of your feature branch):

 git clone git://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git -o eclipse
 git checkout develop
 git checkout -b foobar
 git remote add cobra gitosis@cobra.cs.uni-duesseldorf.de:org.eclipse.rmf.git
 git push cobra foobar
 git config branch.foobar.remote cobra
 git config branch.foobar.merge refs/heads/foobar

Setup is now complete. To work on the code on branch foobar, do the following:

  • Edit on branch foobar
  • Push (implicitly to cobra)
  • To update from the Eclipse repository:
 git checkout develop 
 git pull 
 git checkout foobar 
 git merge develop

There may be a better way for doing all this. Please improve if you know how.


Create Changes:
To create new changes for review, simply push into the project’s magical refs/for/'branch' ref .

 git push ssh://sshusername@hostname:29418/projectname HEAD:refs/for/branchname

in our case the hostname would be git.eclipse.org ,the projectname /rmf/org.eclipse.rmf.git and the branch develop

 git push ssh://sshusername@git.eclipse.org:29418/rmf/org.eclipse.rmf.git HEAD:refs/for/develop

You can find your sshusername on your Profil settings to which you can allocate your SSH public key.

For more informations you may want to take a look at the documentation.

Back to the top