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 "MDT/OCL/Dev/EGit"
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 | + | 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 | + | * [[#Rebase Branch onto origin/master | Rebase Branch onto '''origin/master''']] to synchronize with concurrent development |
− | * [[#Merge Branch onto | + | * [[#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 | + | ===Rebase Branch onto origin/master=== |
− | ===Merge Branch onto | + | ===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.
Contents
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.
- Create New Branch or Switch to Local Branch or Switch to Remote Branch
- Develop and test code
- Review Changes prior to commit
- Commit to Branch
- Create Patch
- Request Review
- Rebase Branch onto origin/master to synchronize with concurrent development
- Review Changes prior to merge
- Merge Branch onto origin/master
- Merge Branch onto Another Branch such as a maintenance branch
- Archive Old Branch to prune the EGit displays