Merge "Fix bugs with the new lightweight decorator for RepositoryTreeNodes"
diff --git a/org.eclipse.egit.target/egit-4.5.target b/org.eclipse.egit.target/egit-4.5.target
index 4752856..4268560 100644
--- a/org.eclipse.egit.target/egit-4.5.target
+++ b/org.eclipse.egit.target/egit-4.5.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="egit-4.5" sequenceNumber="1528375662">
+<target name="egit-4.5" sequenceNumber="1532272375">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.jetty.client" version="9.4.8.v20171121"/>
@@ -35,8 +35,11 @@
       <unit id="com.jcraft.jsch.source" version="0.1.54.v20170116-1932"/>
       <unit id="javaewah" version="1.1.6.v20160919-1400"/>
       <unit id="javaewah.source" version="1.1.6.v20160919-1400"/>
+      <unit id="javax.activation" version="1.1.0.v201211130549"/>
       <unit id="javax.servlet" version="3.1.0.v201410161800"/>
       <unit id="javax.servlet.source" version="3.1.0.v201410161800"/>
+      <unit id="javax.xml.bind" version="2.2.0.v201105210648"/>
+      <unit id="javax.xml.stream" version="1.0.1.v201004272200"/>
       <unit id="org.apache.ant" version="1.9.6.v201510161327"/>
       <unit id="org.apache.ant.source" version="1.9.6.v201510161327"/>
       <unit id="org.apache.commons.codec" version="1.9.0.v20170208-1614"/>
@@ -47,8 +50,6 @@
       <unit id="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
       <unit id="org.apache.httpcomponents.httpcore" version="4.4.6.v20170210-0925"/>
       <unit id="org.apache.httpcomponents.httpcore.source" version="4.4.6.v20170210-0925"/>
-      <unit id="org.apache.httpcomponents.httpclient" version="4.5.2.v20180410-1551"/>
-      <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.2.v20180410-1551"/>
       <unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
       <unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
       <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
@@ -81,12 +82,16 @@
       <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository"/>
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
+      <unit id="org.apache.httpcomponents.httpclient" version="4.5.2.v20170210-0925"/>
+      <unit id="org.apache.httpcomponents.httpclient.source" version="4.5.2.v20170210-0925"/>
+      <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170919201930/repository/"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.sdk.ide" version="0.0.0"/>
       <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.commons.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.ide_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.team_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.context.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.context_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="0.0.0"/>
diff --git a/org.eclipse.egit.target/egit-4.6.target b/org.eclipse.egit.target/egit-4.6.target
index 42fe69b..4a20ecf 100644
--- a/org.eclipse.egit.target/egit-4.6.target
+++ b/org.eclipse.egit.target/egit-4.6.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="egit-4.6" sequenceNumber="1529923955">
+<target name="egit-4.6" sequenceNumber="1532243632">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.jetty.client" version="9.4.8.v20171121"/>
@@ -89,10 +89,11 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.sdk.ide" version="0.0.0"/>
       <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.core.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.commons.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.ide_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.team_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.context.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.context_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="0.0.0"/>
diff --git a/org.eclipse.egit.target/egit-4.7.target b/org.eclipse.egit.target/egit-4.7.target
index ef62bda..d063add 100644
--- a/org.eclipse.egit.target/egit-4.7.target
+++ b/org.eclipse.egit.target/egit-4.7.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="egit-4.7" sequenceNumber="1529919100">
+<target name="egit-4.7" sequenceNumber="1532245240">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.jetty.client" version="9.4.8.v20171121"/>
@@ -89,13 +89,20 @@
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.sdk.ide" version="0.0.0"/>
       <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.core.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.commons.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.ide_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.team_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.context.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.context_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.mylyn.bugzilla_feature.feature.group" version="0.0.0"/>
+      <unit id="javax.xml" version="0.0.0"/>
+      <unit id="org.apache.lucene.queryparser" version="0.0.0"/>
+      <unit id="org.apache.xerces" version="0.0.0"/>
+      <unit id="org.apache.xml.resolver" version="0.0.0"/>
+      <unit id="org.apache.xml.serializer" version="0.0.0"/>
+      <unit id="org.eclipse.tools.layout.spy" version="0.0.0"/>
       <repository location="http://download.eclipse.org/releases/oxygen/"/>
     </location>
   </locations>
diff --git a/org.eclipse.egit.target/egit-4.8.target b/org.eclipse.egit.target/egit-4.8.target
index 4c7ed39..9c0f6a6 100644
--- a/org.eclipse.egit.target/egit-4.8.target
+++ b/org.eclipse.egit.target/egit-4.8.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="egit-4.8" sequenceNumber="1528872799">
+<target name="egit-4.8" sequenceNumber="1532269448">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.jetty.client" version="9.4.8.v20171121"/>
@@ -98,7 +98,15 @@
       <unit id="org.eclipse.mylyn.team_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.context_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.mylyn.bugzilla_feature.feature.group" version="0.0.0"/>
+      <unit id="javax.xml" version="0.0.0"/>
+      <unit id="org.apache.lucene.analyzers-common" version="6.1.0.v20161115-1612"/>
+      <unit id="org.apache.lucene.core" version="6.1.0.v20170814-1820"/>
+      <unit id="org.apache.lucene.queryparser" version="6.1.0.v20161115-1612"/>
+      <unit id="org.apache.xerces" version="0.0.0"/>
+      <unit id="org.apache.xml.resolver" version="0.0.0"/>
+      <unit id="org.apache.xml.serializer" version="0.0.0"/>
+      <unit id="org.eclipse.tools.layout.spy" version="0.0.0"/>
       <repository location="http://download.eclipse.org/releases/photon/"/>
     </location>
   </locations>
diff --git a/org.eclipse.egit.target/egit-4.8-staging.target b/org.eclipse.egit.target/egit-4.9-staging.target
similarity index 86%
rename from org.eclipse.egit.target/egit-4.8-staging.target
rename to org.eclipse.egit.target/egit-4.9-staging.target
index b23c399..7ad6f16 100644
--- a/org.eclipse.egit.target/egit-4.8-staging.target
+++ b/org.eclipse.egit.target/egit-4.9-staging.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="egit-4.8-staging" sequenceNumber="1529923825">
+<target name="egit-4.9-staging" sequenceNumber="1532273516">
   <locations>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.jetty.client" version="9.4.8.v20171121"/>
@@ -88,15 +88,28 @@
     </location>
     <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
       <unit id="org.eclipse.sdk.ide" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.core.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.concurrent" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.commons.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.ide_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.team_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.context.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn_feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.mylyn.context_feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.mylyn.sdk_feature.feature.group" version="0.0.0"/>
-      <repository location="http://download.eclipse.org/staging/photon/"/>
+      <unit id="org.eclipse.mylyn.bugzilla_feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.tools.layout.spy" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/staging/2018-09/"/>
+    </location>
+    <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit">
+      <unit id="javax.xml" version="0.0.0"/>
+      <unit id="org.apache.lucene.analyzers-common" version="6.1.0.v20161115-1612"/>
+      <unit id="org.apache.lucene.core" version="6.1.0.v20170814-1820"/>
+      <unit id="org.apache.lucene.queryparser" version="6.1.0.v20161115-1612"/>
+      <unit id="org.apache.xerces" version="0.0.0"/>
+      <unit id="org.apache.xml.resolver" version="0.0.0"/>
+      <unit id="org.apache.xml.serializer" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/mylyn/releases/latest"/>
     </location>
   </locations>
 </target>
diff --git a/org.eclipse.egit.target/egit-4.8-staging.tpd b/org.eclipse.egit.target/egit-4.9-staging.tpd
similarity index 74%
rename from org.eclipse.egit.target/egit-4.8-staging.tpd
rename to org.eclipse.egit.target/egit-4.9-staging.tpd
index 3cf962f..a80f8c2 100644
--- a/org.eclipse.egit.target/egit-4.8-staging.tpd
+++ b/org.eclipse.egit.target/egit-4.9-staging.tpd
@@ -1,4 +1,4 @@
-target "egit-4.8-staging" with source configurePhase
+target "egit-4.9-staging" with source configurePhase
 
 include "projects/jetty-9.4.8.tpd"
 include "projects/swtbot-snapshot.tpd"
diff --git a/org.eclipse.egit.target/releasetrain/4.5-mars.tpd b/org.eclipse.egit.target/releasetrain/4.5-mars.tpd
index 40689df..af683f6 100644
--- a/org.eclipse.egit.target/releasetrain/4.5-mars.tpd
+++ b/org.eclipse.egit.target/releasetrain/4.5-mars.tpd
@@ -1,13 +1,17 @@
 target "4.5-mars" with source configurePhase
 
 location "http://download.eclipse.org/releases/mars/" {
+	// Eclipse platform
 	org.eclipse.sdk.ide lazy
 	org.eclipse.emf.sdk.feature.group lazy
+
+	// Mylyn integration
 	org.eclipse.mylyn.commons.sdk.feature.group lazy
 	org.eclipse.mylyn.ide_feature.feature.group lazy
 	org.eclipse.mylyn.team_feature.feature.group lazy
-	org.eclipse.mylyn.context.sdk.feature.group lazy
 	org.eclipse.mylyn_feature.feature.group lazy
 	org.eclipse.mylyn.context_feature.feature.group lazy
 	org.eclipse.mylyn.sdk_feature.feature.group lazy
+
+	// SWT layout spy not available
 }
diff --git a/org.eclipse.egit.target/releasetrain/4.6-neon.tpd b/org.eclipse.egit.target/releasetrain/4.6-neon.tpd
index 2fffba3..3c70d3f 100644
--- a/org.eclipse.egit.target/releasetrain/4.6-neon.tpd
+++ b/org.eclipse.egit.target/releasetrain/4.6-neon.tpd
@@ -1,13 +1,19 @@
 target "4.6-neon" with source configurePhase
 
 location "http://download.eclipse.org/releases/neon/" {
+	// Eclipse platform
 	org.eclipse.sdk.ide lazy
 	org.eclipse.emf.sdk.feature.group lazy
+	org.eclipse.ecf.core.feature.feature.group lazy
+	org.eclipse.ecf.filetransfer.feature.feature.group lazy
+
+	// Mylyn integration
 	org.eclipse.mylyn.commons.sdk.feature.group lazy
 	org.eclipse.mylyn.ide_feature.feature.group lazy
 	org.eclipse.mylyn.team_feature.feature.group lazy
-	org.eclipse.mylyn.context.sdk.feature.group lazy
 	org.eclipse.mylyn_feature.feature.group lazy
 	org.eclipse.mylyn.context_feature.feature.group lazy
 	org.eclipse.mylyn.sdk_feature.feature.group lazy
+
+	// SWT layout spy not available
 }
diff --git a/org.eclipse.egit.target/releasetrain/4.7-oxygen.tpd b/org.eclipse.egit.target/releasetrain/4.7-oxygen.tpd
index 3e2cc0b..6e9511c 100644
--- a/org.eclipse.egit.target/releasetrain/4.7-oxygen.tpd
+++ b/org.eclipse.egit.target/releasetrain/4.7-oxygen.tpd
@@ -1,13 +1,26 @@
 target "4.7-oxygen" with source configurePhase
 
 location "http://download.eclipse.org/releases/oxygen/" {
+	// Eclipse platform
 	org.eclipse.sdk.ide lazy
 	org.eclipse.emf.sdk.feature.group lazy
+	org.eclipse.ecf.core.feature.feature.group lazy
+	org.eclipse.ecf.filetransfer.feature.feature.group lazy
+
+	// Mylyn integration
 	org.eclipse.mylyn.commons.sdk.feature.group lazy
 	org.eclipse.mylyn.ide_feature.feature.group lazy
 	org.eclipse.mylyn.team_feature.feature.group lazy
-	org.eclipse.mylyn.context.sdk.feature.group lazy
 	org.eclipse.mylyn_feature.feature.group lazy
 	org.eclipse.mylyn.context_feature.feature.group lazy
-	org.eclipse.mylyn.sdk_feature.feature.group lazy
+	org.eclipse.mylyn.bugzilla_feature.feature.group lazy
+	// some Mylyn dependencies as bundles, to avoid mylyn.trac, which would lead to conflicts
+	javax.xml lazy
+	org.apache.lucene.queryparser lazy
+	org.apache.xerces lazy
+	org.apache.xml.resolver lazy
+	org.apache.xml.serializer lazy
+
+	// debugging SWT layouts
+	org.eclipse.tools.layout.spy lazy
 }
diff --git a/org.eclipse.egit.target/releasetrain/4.8-photon.tpd b/org.eclipse.egit.target/releasetrain/4.8-photon.tpd
index 4ca351f..380b8ff 100644
--- a/org.eclipse.egit.target/releasetrain/4.8-photon.tpd
+++ b/org.eclipse.egit.target/releasetrain/4.8-photon.tpd
@@ -1,16 +1,30 @@
 target "4.8-photon" with source configurePhase
 
 location "http://download.eclipse.org/releases/photon/" {
+	// Eclipse platform
 	org.eclipse.sdk.ide lazy
 	org.eclipse.ecf.console.feature.feature.group lazy
 	org.eclipse.ecf.core.feature.feature.group lazy
 	org.eclipse.ecf.filetransfer.feature.feature.group lazy
 	org.eclipse.emf.sdk.feature.group lazy
 	org.eclipse.equinox.concurrent lazy
+
+	// Mylyn integration
 	org.eclipse.mylyn.commons.sdk.feature.group lazy
 	org.eclipse.mylyn.ide_feature.feature.group lazy
 	org.eclipse.mylyn.team_feature.feature.group lazy
 	org.eclipse.mylyn_feature.feature.group lazy
 	org.eclipse.mylyn.context_feature.feature.group lazy
-	org.eclipse.mylyn.sdk_feature.feature.group lazy
+	org.eclipse.mylyn.bugzilla_feature.feature.group lazy
+	// some Mylyn dependencies as bundles, to avoid mylyn.trac, which would lead to conflicts
+	javax.xml lazy
+	org.apache.lucene.analyzers-common [6.1.0,6.2.0)
+	org.apache.lucene.core [6.1.0,6.2.0)
+	org.apache.lucene.queryparser [6.1.0,6.2.0)
+	org.apache.xerces lazy
+	org.apache.xml.resolver lazy
+	org.apache.xml.serializer lazy
+
+	// debugging SWT layouts
+	org.eclipse.tools.layout.spy lazy
 }
diff --git a/org.eclipse.egit.target/releasetrain/staging.tpd b/org.eclipse.egit.target/releasetrain/staging.tpd
index aff3492..79bc531 100644
--- a/org.eclipse.egit.target/releasetrain/staging.tpd
+++ b/org.eclipse.egit.target/releasetrain/staging.tpd
@@ -1,13 +1,32 @@
 target "staging" with source configurePhase
 
-location "http://download.eclipse.org/staging/photon/" {
+location "http://download.eclipse.org/staging/2018-09/" {
+	// Eclipse platform
 	org.eclipse.sdk.ide lazy
+	org.eclipse.ecf.core.feature.feature.group lazy
+	org.eclipse.ecf.filetransfer.feature.feature.group lazy
 	org.eclipse.emf.sdk.feature.group lazy
+	org.eclipse.equinox.concurrent lazy
+
+	// Mylyn integration
 	org.eclipse.mylyn.commons.sdk.feature.group lazy
 	org.eclipse.mylyn.ide_feature.feature.group lazy
 	org.eclipse.mylyn.team_feature.feature.group lazy
-	org.eclipse.mylyn.context.sdk.feature.group lazy
 	org.eclipse.mylyn_feature.feature.group lazy
 	org.eclipse.mylyn.context_feature.feature.group lazy
-	org.eclipse.mylyn.sdk_feature.feature.group lazy
+	org.eclipse.mylyn.bugzilla_feature.feature.group lazy
+
+	// debugging SWT layouts
+	org.eclipse.tools.layout.spy lazy
 }
+
+location "http://download.eclipse.org/mylyn/releases/latest" {
+	// some Mylyn dependencies as bundles, to avoid mylyn.trac, which would lead to conflicts
+	javax.xml lazy
+	org.apache.lucene.analyzers-common [6.1.0,6.2.0)
+	org.apache.lucene.core [6.1.0,6.2.0)
+	org.apache.lucene.queryparser [6.1.0,6.2.0)
+	org.apache.xerces lazy
+	org.apache.xml.resolver lazy
+	org.apache.xml.serializer lazy
+}
\ No newline at end of file
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchResultTable.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchResultTable.java
index 345e6e8..682aafc 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchResultTable.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchResultTable.java
@@ -310,10 +310,10 @@
 					FetchResultAdapter f2 = (FetchResultAdapter) e2;
 					if (f1.getChildren(f1).length > 0
 							&& f2.getChildren(f2).length == 0)
-						return 1;
+						return -1;
 					if (f1.getChildren(f1).length == 0
 							&& f2.getChildren(f2).length > 0)
-						return -1;
+						return 1;
 
 					return CommonUtils.STRING_ASCENDING_COMPARATOR
 							.compare(f1.getLabel(f1), f2.getLabel(f2));
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
index 0e853a6..728b7d5 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
@@ -125,6 +125,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.layout.LayoutConstants;
 import org.eclipse.jface.preference.IPersistentPreferenceStore;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -768,6 +769,16 @@
 				.getSelection();
 	}
 
+	private void createPersonLabel(Composite parent, ImageDescriptor image,
+			String text) {
+		Label imageLabel = new Label(parent, SWT.NONE);
+		imageLabel.setImage(UIIcons.getImage(resources, image));
+
+		Label textLabel = toolkit.createLabel(parent, text);
+		textLabel.setForeground(
+				toolkit.getColors().getColor(IFormColors.TB_TOGGLE));
+	}
+
 	@Override
 	public void createPartControl(final Composite parent) {
 		GridLayoutFactory.fillDefaults().applyTo(parent);
@@ -1058,29 +1069,28 @@
 		Composite composite = toolkit.createComposite(commitMessageComposite);
 		toolkit.paintBordersFor(composite);
 		GridDataFactory.fillDefaults().grab(true, false).applyTo(composite);
-		GridLayoutFactory.swtDefaults().numColumns(2).applyTo(composite);
+		GridLayoutFactory.swtDefaults().margins(1, 2).numColumns(3)
+				.spacing(1, LayoutConstants.getSpacing().y).applyTo(composite);
 
-		toolkit.createLabel(composite, UIText.StagingView_Author)
-				.setForeground(
-						toolkit.getColors().getColor(IFormColors.TB_TOGGLE));
+		createPersonLabel(composite, UIIcons.ELCL16_AUTHOR,
+				UIText.StagingView_Author);
 		authorText = toolkit.createText(composite, null);
-		authorText
-				.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
-		authorText.setLayoutData(GridDataFactory.fillDefaults()
-				.grab(true, false).create());
+		authorText.setData(FormToolkit.KEY_DRAW_BORDER,
+				FormToolkit.TEXT_BORDER);
+		authorText.setLayoutData(GridDataFactory.fillDefaults().indent(5, 0)
+				.grab(true, false).align(SWT.FILL, SWT.CENTER).create());
 
-		toolkit.createLabel(composite, UIText.StagingView_Committer)
-				.setForeground(
-						toolkit.getColors().getColor(IFormColors.TB_TOGGLE));
+		createPersonLabel(composite, UIIcons.ELCL16_COMMITTER,
+				UIText.StagingView_Committer);
 		committerText = toolkit.createText(composite, null);
 		committerText.setData(FormToolkit.KEY_DRAW_BORDER,
 				FormToolkit.TEXT_BORDER);
-		committerText.setLayoutData(GridDataFactory.fillDefaults()
-				.grab(true, false).create());
+		committerText.setLayoutData(GridDataFactory.fillDefaults().indent(5, 0)
+				.grab(true, false).align(SWT.FILL, SWT.CENTER).create());
 
 		Composite buttonsContainer = toolkit.createComposite(composite);
-		GridDataFactory.fillDefaults().grab(true, false).span(2, 1)
-				.indent(0, 8).applyTo(buttonsContainer);
+		GridDataFactory.fillDefaults().grab(true, false).span(3, 1)
+				.indent(0, 3).applyTo(buttonsContainer);
 		GridLayoutFactory.fillDefaults().numColumns(2)
 				.applyTo(buttonsContainer);