MDT/OCL/Dev/EGit

From Eclipsepedia

< MDT‎ | OCL
Revision as of 05:58, 29 July 2011 by Ed.willink.me.uk (Talk | contribs)

Jump to: navigation, search

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

Develop 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.

Develop a Trivial Change

Very simple changes that do not require review, or must be performed in a hurry may be performed directly on the local master branch.

Partial Use Cases

Clone Repository

The Eclipse GIT repositories are accessed using SSH, so you if you want write access, you should first make sure that you have SSH keys. Then you should use the Git Repositories View of the Git Repository Exploring perspective to Create a clone of the existing Git repository accessed at ssh://committer-id@git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git. committer-id is your Eclipse committer name, typically comprising the first letter of your first name followed by your last name.

Creating the clone takes quite some time, perhaps five to ten minutes, not all of which has comforting progress indications. You can use a file explorer to watch the progress. A complete directory tree for each project appears late in the cloning process.

Create New Branch

A new branch should almost always be created as a branch of origin/master, since this gives a simple direct relationship to the development stream. If you use another branch such as local/master you create a branch of a branch and may encounter difficulties in synchronizing changes or exporting the branch to other repositories that may not be aware of all changes in your local/master.

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