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
(Contributing as Non-Committer at the University of Düsseldorf)
(changed URL from https://git.eclipse.org/r/p/rmf/org.eclipse.rmf to https://git.eclipse.org/r/rmf/org.eclipse.rmf.git)
 
(9 intermediate revisions by 4 users not shown)
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  ==
  
* '''Important:''' Never commit to master! (unless you are the release manager).  Development takes place on the develop branch)
+
One can browse the [http://git.eclipse.org/c/rmf/ RMF repositories].
* We use the [http://nvie.com/posts/a-successful-git-branching-model/ Git Flow Process] as our release process
+
<p>To obtain a copy of a repository:</p>
  
== Coding Guidelines ==
+
=== From the command line ===
 +
  git clone https://git.eclipse.org/r/rmf/org.eclipse.rmf.git
  
* We use the default formating rules by Eclipse to format Java Code (Ctrl-Shift-F)
+
=== From Eclipse with the [http://www.eclipse.org/egit/ EGit plugin] installed ===
* Don't format generated code (that makes it difficult to run diffs on generated code)
+
First, verify that the default repository folder as set on the main Git preference page is to your liking (Window > Preferences > Git).
  
[[Category:RMF]]
+
*File > Import > Git > Projects from Git
 +
*URI
 +
*Enter URI: <code>https://git.eclipse.org/r/rmf/org.eclipse.rmf.git</code>
 +
*Import existing projects into the workspace from the newly created working directory
  
== Contributing as Non-Committer at the University of Düsseldorf ==
+
== Git workflow ==
  
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 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.
  
*git clone git://git.eclipse.org/gitroot/rmf/org.eclipse.rmf.git -o eclipse
+
== Coding Guidelines  ==
*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"]
+
*We use the default formating rules by Eclipse to format Java Code (Ctrl-Shift-F)
  remote = cobra
+
*Don't format generated code (that makes it difficult to run diffs on generated code)
merge = refs/heads/foobar
+
 
 +
== Contributing using Eclipse Gerrit at https://git.eclipse.org/r ==
 +
 
 +
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 ==
 +
 
 +
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:  
 
Setup is now complete. To work on the code on branch foobar, do the following:  
Line 33: 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.  
Line 50: Line 71:
 
   git push ssh://sshusername@git.eclipse.org:29418/rmf/org.eclipse.rmf.git HEAD:refs/for/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 [https://git.eclipse.org/r/#/settings/ settings].  
+
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].  
  
For more informations you may want to take a look at the [https://git.eclipse.org/r/Documentation/user-upload.html documentation].
+
For more informations you may want to take a look at the [https://git.eclipse.org/r/Documentation/user-upload.html documentation].  
 +
 
 +
[[Category:RMF]]
 +
[[Category:RMF/Contributor Guide]]

Latest revision as of 18:19, 7 December 2021

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/rmf/org.eclipse.rmf.git

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