Jump to: navigation, search

Difference between revisions of "MDT/OCL/Dev/EGit"

< MDT‎ | OCL
Line 1: Line 1:
The Eclipse OCL code is maintained in a GIT repository at git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git which is used by [[#Clone Repository]].
+
The Eclipse OCL code is maintained in a GIT repository which is used by [[#Clone Repository | Clone Repository]]. This repository is used in a traditional 'client'/'server' fashion, even though GIT treats all users as peers. The definitive state is on the 'server' at git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git. Individual committers establish 'client' clones of the 'server' so that for committers, the definitive development stream is at '''origin/master''' and each committer's '''master''' is a branch of '''origin/master'''. A definitive maintenance stream is at for instance '''origin/R3_1'''.
  
 
The capabilities of [[EGit]] are described at [[EGit/User Guide]]. The documentation here is complementary, it describes how the committers use EGit to satisfy typical use cases.
 
The capabilities of [[EGit]] are described at [[EGit/User Guide]]. The documentation here is complementary, it describes how the committers use EGit to satisfy typical use cases.
Line 14: Line 14:
  
 
* [[#Create New Branch | Create New Branch]] or [[#Switch to Local Branch | Switch to Local Branch]] or [[#Switch to Remote Branch | Switch to Remote Branch]]
 
* [[#Create New Branch | Create New Branch]] or [[#Switch to Local Branch | Switch to Local Branch]] or [[#Switch to Remote Branch | Switch to Remote Branch]]
 +
* Develop and test code
 +
* [[#Review Changes | Review Changes]] prior to commit
 
* [[#Commit to Branch | Commit to Branch]]  
 
* [[#Commit to Branch | Commit to Branch]]  
 +
* [[#Create Patch | Create Patch]]
 
* [[#Request Review | Request Review]]  
 
* [[#Request Review | Request Review]]  
* [[#Rebase Branch onto Master | Rebase Branch onto '''origin/master''']] to synchronize with concurrent development
+
* [[#Rebase Branch onto origin/master | Rebase Branch onto '''origin/master''']] to synchronize with concurrent development
* [[#Merge Branch onto Master | Merge Branch onto '''origin/master''']]  
+
* [[#Review Changes | Review Changes]] prior to merge
 +
* [[#Merge Branch onto origin/master | Merge Branch onto '''origin/master''']]  
 
* [[#Merge Branch onto Another Branch | Merge Branch onto Another Branch]] such as a maintenance branch  
 
* [[#Merge Branch onto Another Branch | Merge Branch onto Another Branch]] such as a maintenance branch  
 
* [[#Archive Old Branch | Archive Old Branch]] to prune the EGit displays
 
* [[#Archive Old Branch | Archive Old Branch]] to prune the EGit displays
Line 30: Line 34:
  
 
===Switch to Remote Branch===
 
===Switch to Remote Branch===
 +
 +
===Review Changes===
 +
 +
===Create Patch===
  
 
===Request Review===
 
===Request Review===
  
===Rebase Branch onto Master===
+
===Rebase Branch onto origin/master===
  
===Merge Branch onto Master===
+
===Merge Branch onto origin/master===
  
 
===Merge Branch onto Another Branch===
 
===Merge Branch onto Another Branch===
  
 
===Archive Old Branch===
 
===Archive Old Branch===

Revision as of 05:05, 29 July 2011

The Eclipse OCL code is maintained in a GIT repository which is used by Clone Repository. This repository is used in a traditional 'client'/'server' fashion, even though GIT treats all users as peers. The definitive state is on the 'server' at git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git. Individual committers establish 'client' clones of the 'server' so that for committers, the definitive development stream is at origin/master and each committer's master is a branch of origin/master. A definitive maintenance stream is at for instance origin/R3_1.

The capabilities of EGit are described at EGit/User Guide. The documentation here is complementary, it describes how the committers use EGit to satisfy typical use cases.

Complete Use Cases

Perform a Non-trivial Change

The normal evolution of the project code involves a non-trivial change that may take a few days or weeks to develop, may need review by another committer and may occur concurrently with some other change.

A Bugzilla describes the intended change and supports communication regarding the progress of the change.

The change is developed in a branch whose name starts with bug/nnnnnn where nnnnnn is the Bugzilla number. A short description may follow.

Partial Use Cases

Clone Repository

Create New Branch

Switch to Local Branch

Switch to Remote Branch

Review Changes

Create Patch

Request Review

Rebase Branch onto origin/master

Merge Branch onto origin/master

Merge Branch onto Another Branch

Archive Old Branch