Jump to: navigation, search

Difference between revisions of "Platform UI/Git"

(Development and maintenance branches to use)
(General Introduction)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Platform UI Git repos for 4.2/3.8 =
 
= 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.
 
'''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.
Line 8: Line 10:
 
* ssh://userid@git.eclipse.org/gitroot/platform/eclipse.platform.runtime.git
 
* ssh://userid@git.eclipse.org/gitroot/platform/eclipse.platform.runtime.git
  
'''org.eclipse.test.performance''' will be in the releng repo, but for now you need it from ''':pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse''' path='''org.eclipse.test.performance'''
+
To clone the repositories anonymous use:
 +
 
 +
* http://anonymous@git.eclipse.org/gitroot/platform/eclipse.platform.ui.git
 +
* http://anonymous@git.eclipse.org/gitroot/platform/eclipse.platform.runtime.git
 +
 
 +
 
 +
Additionally, to present (for casual browsing) the repos using the handy Git wiki template:
 +
 
 +
{{Git|platform|eclipse.platform.ui.git}}
 +
{{Git|platform|eclipse.platform.runtime.git}}
 +
 
 +
NOTE: <br/>
 +
'''org.eclipse.test.performance''' is in the '''eclipse.platform.releng.git''' repo
  
  
Line 15: Line 29:
 
* ssh://userid@git.eclipse.org/gitroot/e4/org.eclipse.e4.ui.git
 
* ssh://userid@git.eclipse.org/gitroot/e4/org.eclipse.e4.ui.git
 
* ssh://userid@git.eclipse.org/gitroot/e4/org.eclipse.e4.tools.git
 
* ssh://userid@git.eclipse.org/gitroot/e4/org.eclipse.e4.tools.git
 +
* ssh://userid@git.eclipse.org/gitroot/e4/org.eclipse.e4.releng.git
  
Our Eclipse4/4.2 releng project is still at ''':pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse''' path='''e4/releng'''
+
Our Eclipse4/4.2 releng project at ''':pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse''' path='''e4/releng''' is being decommissioned.  Please don't use it.
  
  
Line 32: Line 47:
 
! Why
 
! Why
 
|-
 
|-
| R4_development
+
| master
| All Juno related work, both 4.2 and 3.8 that doesn't include the ''org.eclipse.ui.workbench''. For now this also includes 4.1.1 work.
+
| 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
 
| R3_development
| Work that needs the 3.8 ''org.eclipse.ui.workbench''
+
| 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
 
| R3_7_maintenance
| Our standard maintenance branch for 3.7.1/Indigo SR1
+
| 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
 
| R3_6_maintenance
 
| The maintenance branch for any '''3.6.2+''' contributions.
 
| The maintenance branch for any '''3.6.2+''' contributions.
 
|-
 
|-
| master
+
| R4_development
| Don't commit to this branch at this time
+
| Don't commit to this branch, it has been deleted.
 
|}
 
|}
  
Line 70: Line 94:
 
# e4 0.12 builds on top of 4.2 I build
 
# 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 this changes the nightly builds are still 3.8 builds, but are being done off of '''R3_development'''.
 
+
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 ===
 
=== Our goal in Juno M2 ===
Line 86: Line 106:
 
'''Platform UI plugins in 3.8'''
 
'''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.
+
At the moment, 4.2 and 3.8 are separate streams, just as 3.7.x isWe need to cherry-pick changes for non-workbench plugins from '''master''' into '''R3_development''' so that the other plugins are up to date.
  
 +
We'll re-visit this setup after 4.2 becomes the primary build.
  
 
== Development in 3.7.1 ==
 
== 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.
 
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.

Latest revision as of 02:53, 22 February 2012

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.

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)


NOTE:
org.eclipse.test.performance is in the eclipse.platform.releng.git repo


For 4.2 work we are also responsible for:

Our Eclipse4/4.2 releng project at :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse 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

Until this changes the nightly builds are still 3.8 builds, but are being done off of R3_development.

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

At the moment, 4.2 and 3.8 are separate streams, just as 3.7.x is. We need to cherry-pick changes for non-workbench plugins from master into R3_development so that the other plugins are up to date.

We'll re-visit this setup after 4.2 becomes the primary build.

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.