Platform UI/Git

From Eclipsepedia

Jump to: navigation, search


Platform UI Git repos for 4.2/3.8

General Introduction

Important: After you install EGit, please refer to Platform-releng/Git Workflows for a description of our common git workflows. For Platform UI, that means setting the default Pull for your branch to do a rebase merge instead of a normal merge.

For all work, we use the UI and Runtime repos. Runtime has org.eclipse.core.tests.harness and the org.eclipse.core.expressions bundles and tests. UI has everything else.

  • ssh://
  • ssh://

To clone the repositories anonymous use:

Additionally, to present (for casual browsing) the repos using the handy Git wiki template:

eclipse.platform.ui.git (browse, stats, fork on OrionHub)

eclipse.platform.runtime.git (browse, stats, fork on OrionHub)

org.eclipse.test.performance will be in the releng repo, but for now you need it from path=org.eclipse.test.performance

For 4.2 work we are also responsible for:

  • ssh://
  • ssh://
  • ssh://

Our Eclipse4/4.2 releng project at path=e4/releng is being decommissioned. Please don't use it.

For a record of the Platform UI migration, please see Platform UI/Git Migration

Development in Juno

Development and maintenance branches to use

For eclipse.platform.ui.git:

Branch Why
master All Juno related work, both 4.2 and 3.8 that doesn't include the org.eclipse.ui.workbench.
integration This is the build integration branch for 4.2. Releasing for the build involves updating this branch to master. See Platform-releng/Git_Workflows#Contributing_to_a_build
R3_development Work that needs the 3.8 org.eclipse.ui.workbench. Juno related work that is not related to the org.eclipse.ui.workbench bundle should also be cherry-picked here.
R3_integration This is the build integration branch for the 3.8 builds. Releasing for the build involves updating this branch to R3_development. See Platform-releng/Git_Workflows#Contributing_to_a_build
R3_7_maintenance Our standard maintenance branch for 3.7.2/Indigo SR2
R4_1_maintenance Work on fixes for 4.1.1/4.1.2
R3_6_maintenance The maintenance branch for any 3.6.2+ contributions.
R4_development Don't commit to this branch, it has been deleted.

For all other repositories:

Branch Why
master All Juno related work, both 4.2 and 3.8.
R3_7_maintenance Our standard maintenance branch for 3.7.1/Indigo SR1

Using git right now in eclipse.platform.ui.git - explanation

Right now our build dependencies are:

  1. 3.8 I build
  2. 4.2 I build picks up most content from 3.8
  3. e4 0.12 builds on top of 4.2 I build

Because 3.8 is build first and 3.8 is run as the nightlies, PDE build supports one replacement fetchTag per repo type, and for our nightlies it is GIT=master.

Until we get this resolved, I propose we do our Juno work (4.2 and any 3.8 work that doesn't touch the org.eclipse.ui.workbench) in R4_development. We should do any 3.8 org.eclipse.ui.workbench work in R3_development, and anything that's not workbench related from R4_development I'll merge or cherry-pick across for the 3.8 builds.

I'll be managing master by tracking one or the other of the branches. Please don't commit to master until we figure out #Our goal in Juno M2

Our goal in Juno M2

The main focus our Platform UI's Juno development is 4.2. To that end, we expect to do most of our work on master. It will contain all of the Platform UI plugins as they were in 3.7 except for our forked compatibility layer, org.eclipse.ui.workbench. It will contain all of our Eclipse 4 UI plugins (Modeled Workbench, CSS Support, Eclipse4 Applications) as they were in 4.1. And it will contain the forked compatibility layer.

All work in Juno on any plugins that haven't been deliberately forked (and so far that short list only includes org.eclipse.ui.workbench) should happen in master. So working on JFace in 3.8/4.2 really means working on master.

Any work that needs to be done in the 3.8 org.eclipse.ui.workbench should be done in the R3_development branch. This will be created off of the R3_7 tag.

Platform UI plugins in 3.8

We could simply pick up all plugin changes from master except org.eclipse.ui.workbench. But that would leave your R3_development branch in an odd state (as you would have to depend on your target platform for 3.8 source). The other proposal is to regularly merge work in master into R3_development so that the other plugins are up to date. We haven't made a final decision here.

Development in 3.7.1

All work on plugins for 3.7.1 should be done in the R3_7_maintenance branch off of tag R3_7. It has already been created.