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.
Difference between revisions of "RMF/Contributor Guide/Development Process"
Iw.wglt.de (Talk | contribs) 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: | ||
− | == | + | == 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 == | ||
− | |||
*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 | + | == Contributing using Eclipse Gerrit at https://git.eclipse.org/r == |
− | We | + | 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] to which you can 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 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 pull | |
− | + | git checkout foobar | |
− | + | 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:
Contents
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).
- File > Import > Git > Projects from Git
- URI
- Enter URI:
https://git.eclipse.org/r/p/rmf/org.eclipse.rmf
- Import existing projects into the workspace from the newly created working directory
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.