Merge branch 'stable-4.0'

* stable-4.0:
  Prepare 4.0.1-SNAPSHOT builds
  JGit v4.0.0.201506090130-r
  Update build to use Tycho 0.23

Change-Id: I732b601c198ad1a50aa7ba3c1d1fb516b10912b5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
diff --git a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
index 6cf975b..09b4563 100644
--- a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
@@ -3,14 +3,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.ant.test
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: org.apache.tools.ant,
- org.eclipse.jgit.ant.tasks;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.ant.tasks;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
  org.hamcrest;version="[1.1.0,2.0.0)",
  org.junit;version="[4.0.0,5.0.0)"
diff --git a/org.eclipse.jgit.ant.test/pom.xml b/org.eclipse.jgit.ant.test/pom.xml
index 751d24f..8c3a1b2 100644
--- a/org.eclipse.jgit.ant.test/pom.xml
+++ b/org.eclipse.jgit.ant.test/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.ant.test</artifactId>
diff --git a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
index 1789b17..ac4364e 100644
--- a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.jgit.ant
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: org.apache.tools.ant,
-  org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)"
+  org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)"
 Bundle-Localization: plugin
 Bundle-Vendor: %Provider-Name
-Export-Package: org.eclipse.jgit.ant.tasks;version="4.0.1";
+Export-Package: org.eclipse.jgit.ant.tasks;version="4.1.0";
  uses:="org.apache.tools.ant.types,org.apache.tools.ant"
diff --git a/org.eclipse.jgit.ant/pom.xml b/org.eclipse.jgit.ant/pom.xml
index aeab5d9..c6589b7 100644
--- a/org.eclipse.jgit.ant/pom.xml
+++ b/org.eclipse.jgit.ant/pom.xml
@@ -48,7 +48,7 @@
 	<parent>
 		<groupId>org.eclipse.jgit</groupId>
 		<artifactId>org.eclipse.jgit-parent</artifactId>
-		<version>4.0.1-SNAPSHOT</version>
+		<version>4.1.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.jgit.ant</artifactId>
diff --git a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
index 011f888..ecbeeef 100644
--- a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.archive
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Vendor: %provider_name
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
@@ -12,14 +12,14 @@
  org.apache.commons.compress.compressors.bzip2;version="[1.4,2.0)",
  org.apache.commons.compress.compressors.gzip;version="[1.4,2.0)",
  org.apache.commons.compress.compressors.xz;version="[1.4,2.0)",
- org.eclipse.jgit.api;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.api;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
  org.osgi.framework;version="[1.3.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.jgit.archive.FormatActivator
-Export-Package: org.eclipse.jgit.archive;version="4.0.1";
+Export-Package: org.eclipse.jgit.archive;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.api,
    org.apache.commons.compress.archivers,
diff --git a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF
index fc28618..2d431c4 100644
--- a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF
+++ b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF
@@ -3,5 +3,5 @@
 Bundle-Name: org.eclipse.jgit.archive - Sources
 Bundle-SymbolicName: org.eclipse.jgit.archive.source
 Bundle-Vendor: Eclipse.org - JGit
-Bundle-Version: 4.0.1.qualifier
-Eclipse-SourceBundle: org.eclipse.jgit.archive;version="4.0.1.qualifier";roots="."
+Bundle-Version: 4.1.0.qualifier
+Eclipse-SourceBundle: org.eclipse.jgit.archive;version="4.1.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.archive/pom.xml b/org.eclipse.jgit.archive/pom.xml
index 3f755e8..3fdc347 100644
--- a/org.eclipse.jgit.archive/pom.xml
+++ b/org.eclipse.jgit.archive/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.archive</artifactId>
diff --git a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF
index 54bd33c..cfc7601 100644
--- a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.jgit.http.apache
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-Localization: plugin
 Bundle-Vendor: %Provider-Name
@@ -18,10 +18,10 @@
  org.apache.http.impl.client;version="[4.1.0,5.0.0)",
  org.apache.http.impl.client.cache;version="[4.1.0,5.0.0)",
  org.apache.http.params;version="[4.1.0,5.0.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.http;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)"
-Export-Package: org.eclipse.jgit.transport.http.apache;version="4.0.1";
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.http;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)"
+Export-Package: org.eclipse.jgit.transport.http.apache;version="4.1.0";
   uses:="org.eclipse.jgit.transport.http,
    javax.net.ssl,
    org.apache.http.client,
diff --git a/org.eclipse.jgit.http.apache/pom.xml b/org.eclipse.jgit.http.apache/pom.xml
index ca7c5b9..6754de2 100644
--- a/org.eclipse.jgit.http.apache/pom.xml
+++ b/org.eclipse.jgit.http.apache/pom.xml
@@ -48,7 +48,7 @@
 	<parent>
 		<groupId>org.eclipse.jgit</groupId>
 		<artifactId>org.eclipse.jgit-parent</artifactId>
-		<version>4.0.1-SNAPSHOT</version>
+		<version>4.1.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.jgit.http.apache</artifactId>
diff --git a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF
index 0a9239a..8f03884 100644
--- a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.http.server
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-Vendor: %provider_name
-Export-Package: org.eclipse.jgit.http.server;version="4.0.1",
- org.eclipse.jgit.http.server.glue;version="4.0.1";
+Export-Package: org.eclipse.jgit.http.server;version="4.1.0",
+ org.eclipse.jgit.http.server.glue;version="4.1.0";
   uses:="javax.servlet,javax.servlet.http",
- org.eclipse.jgit.http.server.resolver;version="4.0.1";
+ org.eclipse.jgit.http.server.resolver;version="4.1.0";
   uses:="org.eclipse.jgit.transport.resolver,
    org.eclipse.jgit.lib,
    org.eclipse.jgit.transport,
@@ -17,12 +17,12 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: javax.servlet;version="[2.5.0,3.2.0)",
  javax.servlet.http;version="[2.5.0,3.2.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.dfs;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.resolver;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)"
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.dfs;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.resolver;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)"
diff --git a/org.eclipse.jgit.http.server/pom.xml b/org.eclipse.jgit.http.server/pom.xml
index cad46ab..13a7a8d 100644
--- a/org.eclipse.jgit.http.server/pom.xml
+++ b/org.eclipse.jgit.http.server/pom.xml
@@ -52,7 +52,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.http.server</artifactId>
diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
index 4ca0e9d..cd7cff4 100644
--- a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.http.test
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Vendor: %provider_name
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
@@ -22,23 +22,23 @@
  org.eclipse.jetty.util.log;version="[9.0.0,10.0.0)",
  org.eclipse.jetty.util.security;version="[9.0.0,10.0.0)",
  org.eclipse.jetty.util.thread;version="[9.0.0,10.0.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.http.server;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.http.server.glue;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.http.server.resolver;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit.http;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.http;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.http.apache;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.resolver;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.http.server;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.http.server.glue;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.http.server.resolver;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit.http;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.http;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.http.apache;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.resolver;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
  org.hamcrest.core;version="[1.1.0,2.0.0)",
  org.junit;version="[4.0.0,5.0.0)",
  org.junit.runner;version="[4.0.0,5.0.0)",
diff --git a/org.eclipse.jgit.http.test/pom.xml b/org.eclipse.jgit.http.test/pom.xml
index 58fb6d0..2cc07e3 100644
--- a/org.eclipse.jgit.http.test/pom.xml
+++ b/org.eclipse.jgit.http.test/pom.xml
@@ -51,7 +51,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.http.test</artifactId>
diff --git a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
index 996e704..ad319f5 100644
--- a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.junit.http
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-Vendor: %provider_name
 Bundle-ActivationPolicy: lazy
@@ -20,13 +20,13 @@
  org.eclipse.jetty.util.component;version="[9.0.0,10.0.0)",
  org.eclipse.jetty.util.log;version="[9.0.0,10.0.0)",
  org.eclipse.jetty.util.security;version="[9.0.0,10.0.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.http.server;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.resolver;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.http.server;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.resolver;version="[4.1.0,4.2.0)",
  org.junit;version="[4.0.0,5.0.0)"
-Export-Package: org.eclipse.jgit.junit.http;version="4.0.1"
+Export-Package: org.eclipse.jgit.junit.http;version="4.1.0"
diff --git a/org.eclipse.jgit.junit.http/pom.xml b/org.eclipse.jgit.junit.http/pom.xml
index 023cfc0..48b00cf 100644
--- a/org.eclipse.jgit.junit.http/pom.xml
+++ b/org.eclipse.jgit.junit.http/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.junit.http</artifactId>
diff --git a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
index d75a7cd..72a0bb8 100644
--- a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.junit
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-Vendor: %provider_name
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Import-Package: org.eclipse.jgit.api;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.api.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.dircache;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.pack;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.merge;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk.filter;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util.io;version="[4.0.1,4.1.0)",
+Import-Package: org.eclipse.jgit.api;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.api.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.dircache;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.pack;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.merge;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk.filter;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util.io;version="[4.1.0,4.2.0)",
  org.junit;version="[4.0.0,5.0.0)"
-Export-Package: org.eclipse.jgit.junit;version="4.0.1"
+Export-Package: org.eclipse.jgit.junit;version="4.1.0"
diff --git a/org.eclipse.jgit.junit/pom.xml b/org.eclipse.jgit.junit/pom.xml
index f65fa85..68d3549 100644
--- a/org.eclipse.jgit.junit/pom.xml
+++ b/org.eclipse.jgit.junit/pom.xml
@@ -52,7 +52,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.junit</artifactId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
index ea2f577..1cbbd15 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml
index 7456d54..8fae094 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
index 1a78297..9b6a26f 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit.http.apache"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml
index d9ab3d6..2cf864f 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
index c548f2a..12b4489 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit.junit"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml
index d8da5ad..00b73ba 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml
index 66e2e7c..f0e3902 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit.pgm"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
@@ -27,7 +27,7 @@
          version="0.0.0"/>
 
    <requires>
-      <import feature="org.eclipse.jgit" version="4.0.0" match="equivalent"/>
+      <import feature="org.eclipse.jgit" version="4.1.0" match="equivalent"/>
    </requires>
 
    <plugin
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml
index c3709d9..d6d9b80 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/feature.xml
index 87122dd..acfe4f3 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit.pgm.source"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/pom.xml
index 8883cf2..a6a7717 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.source.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml
index db1f6f7..4a476d0 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.repository</artifactId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml
index bdaa001..6cd7f1c 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jgit.source"
       label="%featureName"
-      version="4.0.1.qualifier"
+      version="4.1.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/jgit/">
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml
index 641f591..db83153 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF
index 5bc906f..4e0b7f0 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF
@@ -2,4 +2,4 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: JGit Target Platform Bundle
 Bundle-SymbolicName: org.eclipse.jgit.target
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml
index 5dae10c..206a422 100644
--- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml
+++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml
@@ -49,7 +49,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>jgit.tycho.parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.target</artifactId>
diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml
index 86c2864..095d46f 100644
--- a/org.eclipse.jgit.packaging/pom.xml
+++ b/org.eclipse.jgit.packaging/pom.xml
@@ -53,7 +53,7 @@
 
   <groupId>org.eclipse.jgit</groupId>
   <artifactId>jgit.tycho.parent</artifactId>
-  <version>4.0.1-SNAPSHOT</version>
+  <version>4.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>JGit Tycho Parent</name>
diff --git a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
index dc5bfbf..d5fd9fc 100644
--- a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.pgm.test
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Vendor: %provider_name
 Bundle-Localization: plugin
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Import-Package: org.eclipse.jgit.api;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.api.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.diff;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.dircache;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.merge;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.pgm;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.pgm.internal;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.pgm.opt;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util.io;version="[4.0.1,4.1.0)",
+Import-Package: org.eclipse.jgit.api;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.api.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.diff;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.dircache;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.merge;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.pgm;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.pgm.internal;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.pgm.opt;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util.io;version="[4.1.0,4.2.0)",
  org.hamcrest.core;bundle-version="[1.1.0,2.0.0)",
  org.junit;version="[4.4.0,5.0.0)",
  org.kohsuke.args4j;version="[2.0.12,2.1.0)"
diff --git a/org.eclipse.jgit.pgm.test/pom.xml b/org.eclipse.jgit.pgm.test/pom.xml
index 2b1d056..a0be910 100644
--- a/org.eclipse.jgit.pgm.test/pom.xml
+++ b/org.eclipse.jgit.pgm.test/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.pgm.test</artifactId>
diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF
index 21a0d8a..c1a905f 100644
--- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF
@@ -2,44 +2,44 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.pgm
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Vendor: %provider_name
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: org.apache.commons.compress.archivers;version="[1.3,2.0)",
  org.apache.commons.compress.archivers.tar;version="[1.3,2.0)",
  org.apache.commons.compress.archivers.zip;version="[1.3,2.0)",
- org.eclipse.jgit.api;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.api.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.archive;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.awtui;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.blame;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.diff;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.dircache;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.gitrepo;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.pack;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.merge;version="4.0.1",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.notes;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revplot;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk.filter;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.pack;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.resolver;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk.filter;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util.io;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.api;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.api.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.archive;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.awtui;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.blame;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.diff;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.dircache;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.gitrepo;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.pack;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.merge;version="4.1.0",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.notes;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revplot;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk.filter;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.pack;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.resolver;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk.filter;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util.io;version="[4.1.0,4.2.0)",
  org.kohsuke.args4j;version="[2.0.12,2.1.0)",
  org.kohsuke.args4j.spi;version="[2.0.15,2.1.0)"
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.jgit.console;version="4.0.1",
- org.eclipse.jgit.pgm;version="4.0.1";
+Export-Package: org.eclipse.jgit.console;version="4.1.0",
+ org.eclipse.jgit.pgm;version="4.1.0";
   uses:="org.eclipse.jgit.revwalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.pgm.opt,
@@ -50,9 +50,9 @@
    org.eclipse.jgit.treewalk,
    javax.swing,
    org.eclipse.jgit.transport",
- org.eclipse.jgit.pgm.debug;version="4.0.1";uses:="org.eclipse.jgit.pgm",
- org.eclipse.jgit.pgm.internal;version="4.0.1";x-friends:="org.eclipse.jgit.pgm.test,org.eclipse.jgit.test",
- org.eclipse.jgit.pgm.opt;version="4.0.1";
+ org.eclipse.jgit.pgm.debug;version="4.1.0";uses:="org.eclipse.jgit.pgm",
+ org.eclipse.jgit.pgm.internal;version="4.1.0";x-friends:="org.eclipse.jgit.pgm.test,org.eclipse.jgit.test",
+ org.eclipse.jgit.pgm.opt;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.revwalk,
    org.kohsuke.args4j.spi,
diff --git a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF
index 231f497..4739068 100644
--- a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF
+++ b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF
@@ -3,5 +3,5 @@
 Bundle-Name: org.eclipse.jgit.pgm - Sources
 Bundle-SymbolicName: org.eclipse.jgit.pgm.source
 Bundle-Vendor: Eclipse.org - JGit
-Bundle-Version: 4.0.1.qualifier
-Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="4.0.1.qualifier";roots="."
+Bundle-Version: 4.1.0.qualifier
+Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="4.1.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.pgm/pom.xml b/org.eclipse.jgit.pgm/pom.xml
index 8c8324f..5862a5f 100644
--- a/org.eclipse.jgit.pgm/pom.xml
+++ b/org.eclipse.jgit.pgm/pom.xml
@@ -50,7 +50,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.pgm</artifactId>
diff --git a/org.eclipse.jgit.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.test/META-INF/MANIFEST.MF
index bc506b7..0dca042 100644
--- a/org.eclipse.jgit.test/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.test/META-INF/MANIFEST.MF
@@ -2,51 +2,51 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.test
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-Vendor: %provider_name
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: com.googlecode.javaewah;version="[0.7.9,0.8.0)",
- org.eclipse.jgit.api;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.api.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.attributes;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.awtui;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.blame;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.diff;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.dircache;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.events;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.fnmatch;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.gitrepo;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.hooks;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.ignore;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.ignore.internal;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.dfs;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.internal.storage.pack;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.junit;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.merge;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.notes;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.patch;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.pgm;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.pgm.internal;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revplot;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk.filter;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.file;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.storage.pack;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.submodule;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.http;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport.resolver;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.treewalk.filter;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util.io;version="[4.0.1,4.1.0)",
+ org.eclipse.jgit.api;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.api.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.attributes;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.awtui;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.blame;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.diff;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.dircache;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.events;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.fnmatch;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.gitrepo;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.hooks;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.ignore;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.ignore.internal;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.dfs;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.internal.storage.pack;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.junit;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.merge;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.notes;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.patch;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.pgm;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.pgm.internal;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revplot;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk.filter;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.file;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.storage.pack;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.submodule;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.http;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport.resolver;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.treewalk.filter;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util.io;version="[4.1.0,4.2.0)",
  org.hamcrest;version="[1.1.0,2.0.0)",
  org.junit;version="[4.4.0,5.0.0)",
  org.junit.experimental.theories;version="[4.4.0,5.0.0)",
diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml
index 28db7e6..f3fdfd0 100644
--- a/org.eclipse.jgit.test/pom.xml
+++ b/org.eclipse.jgit.test/pom.xml
@@ -52,7 +52,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.test</artifactId>
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
index 8dbe644..0991598 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/RefDirectoryTest.java
@@ -359,6 +359,33 @@ public void testGetRefs_IgnoresGarbageRef4() throws IOException {
 	}
 
 	@Test
+	public void testFirstExactRef_IgnoresGarbageRef() throws IOException {
+		writeLooseRef("refs/heads/A", A);
+		write(new File(diskRepo.getDirectory(), "refs/heads/bad"), "FAIL\n");
+
+		Ref a = refdir.firstExactRef("refs/heads/bad", "refs/heads/A");
+		assertEquals("refs/heads/A", a.getName());
+		assertEquals(A, a.getObjectId());
+	}
+
+	@Test
+	public void testExactRef_IgnoresGarbageRef() throws IOException {
+		writeLooseRef("refs/heads/A", A);
+		write(new File(diskRepo.getDirectory(), "refs/heads/bad"), "FAIL\n");
+
+		Map<String, Ref> refs =
+				refdir.exactRef("refs/heads/bad", "refs/heads/A");
+
+		assertNull("no refs/heads/bad", refs.get("refs/heads/bad"));
+
+		Ref a = refs.get("refs/heads/A");
+		assertEquals("refs/heads/A", a.getName());
+		assertEquals(A, a.getObjectId());
+
+		assertEquals(1, refs.size());
+	}
+
+	@Test
 	public void testGetRefs_InvalidName() throws IOException {
 		writeLooseRef("refs/heads/A", A);
 
@@ -464,6 +491,21 @@ public void testGetRefs_HeadsOnly_Mixed() throws IOException {
 	}
 
 	@Test
+	public void testFirstExactRef_Mixed() throws IOException {
+		writeLooseRef("refs/heads/A", A);
+		writePackedRef("refs/tags/v1.0", v1_0);
+
+		Ref a = refdir.firstExactRef("refs/heads/A", "refs/tags/v1.0");
+		Ref one = refdir.firstExactRef("refs/tags/v1.0", "refs/heads/A");
+
+		assertEquals("refs/heads/A", a.getName());
+		assertEquals("refs/tags/v1.0", one.getName());
+
+		assertEquals(A, a.getObjectId());
+		assertEquals(v1_0, one.getObjectId());
+	}
+
+	@Test
 	public void testGetRefs_TagsOnly_AllLoose() throws IOException {
 		Map<String, Ref> tags;
 		Ref a;
@@ -1000,6 +1042,23 @@ public void testGetRef_FetchHead() throws IOException {
 	}
 
 	@Test
+	public void testExactRef_FetchHead() throws IOException {
+		// This is an odd special case where we need to make sure we read
+		// exactly the first 40 bytes of the file and nothing further on
+		// that line, or the remainder of the file.
+		write(new File(diskRepo.getDirectory(), "FETCH_HEAD"), A.name()
+				+ "\tnot-for-merge"
+				+ "\tbranch 'master' of git://egit.eclipse.org/jgit\n");
+
+		Ref r = refdir.exactRef("FETCH_HEAD");
+		assertFalse(r.isSymbolic());
+		assertEquals(A, r.getObjectId());
+		assertEquals("FETCH_HEAD", r.getName());
+		assertFalse(r.isPeeled());
+		assertNull(r.getPeeledObjectId());
+	}
+
+	@Test
 	public void testGetRef_AnyHeadWithGarbage() throws IOException {
 		write(new File(diskRepo.getDirectory(), "refs/heads/A"), A.name()
 				+ "012345 . this is not a standard reference\n"
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
index db31fd3..b90a0c4 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
@@ -51,7 +51,6 @@
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
@@ -503,27 +502,6 @@ public void testBooleanWithNoValue() throws ConfigInvalidException {
 	}
 
 	@Test
-	public void testEmptyString() throws ConfigInvalidException {
-		Config c = parse("[my]\n\tempty =\n");
-		assertNull(c.getString("my", null, "empty"));
-
-		String[] values = c.getStringList("my", null, "empty");
-		assertNotNull(values);
-		assertEquals(1, values.length);
-		assertNull(values[0]);
-
-		// always matches the default, because its non-boolean
-		assertTrue(c.getBoolean("my", "empty", true));
-		assertFalse(c.getBoolean("my", "empty", false));
-
-		assertEquals("[my]\n\tempty =\n", c.toText());
-
-		c = new Config();
-		c.setStringList("my", null, "empty", Arrays.asList(values));
-		assertEquals("[my]\n\tempty =\n", c.toText());
-	}
-
-	@Test
 	public void testUnsetBranchSection() throws ConfigInvalidException {
 		Config c = parse("" //
 				+ "[branch \"keep\"]\n"
@@ -699,6 +677,64 @@ public void testNoFinalNewline() throws ConfigInvalidException {
 		assertEquals("1", c.getString("a", null, "y"));
 	}
 
+	@Test
+	public void testExplicitlySetEmptyString() throws Exception {
+		Config c = new Config();
+		c.setString("a", null, "x", "0");
+		c.setString("a", null, "y", "");
+
+		assertEquals("0", c.getString("a", null, "x"));
+		assertEquals(0, c.getInt("a", null, "x", 1));
+
+		assertEquals("", c.getString("a", null, "y"));
+		assertArrayEquals(new String[]{""}, c.getStringList("a", null, "y"));
+		try {
+			c.getInt("a", null, "y", 1);
+		} catch (IllegalArgumentException e) {
+			assertEquals("Invalid integer value: a.y=", e.getMessage());
+		}
+
+		assertNull(c.getString("a", null, "z"));
+		assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));
+	}
+
+	@Test
+	public void testParsedEmptyString() throws Exception {
+		Config c = parse("[a]\n"
+				+ "x = 0\n"
+				+ "y =\n");
+
+		assertEquals("0", c.getString("a", null, "x"));
+		assertEquals(0, c.getInt("a", null, "x", 1));
+
+		assertEquals("", c.getString("a", null, "y"));
+		assertArrayEquals(new String[]{""}, c.getStringList("a", null, "y"));
+		try {
+			c.getInt("a", null, "y", 1);
+		} catch (IllegalArgumentException e) {
+			assertEquals("Invalid integer value: a.y=", e.getMessage());
+		}
+
+		assertNull(c.getString("a", null, "z"));
+		assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));
+	}
+
+	@Test
+	public void testSetStringListWithEmptyValue() throws Exception {
+		Config c = new Config();
+		c.setStringList("a", null, "x", Arrays.asList(""));
+		assertArrayEquals(new String[]{""}, c.getStringList("a", null, "x"));
+	}
+
+	@Test
+	public void testEmptyValueAtEof() throws Exception {
+		String text = "[a]\nx =";
+		Config c = parse(text);
+		assertEquals("", c.getString("a", null, "x"));
+		c = parse(text + "\n");
+		assertEquals("", c.getString("a", null, "x"));
+	}
+
 	private static void assertReadLong(long exp) throws ConfigInvalidException {
 		assertReadLong(exp, String.valueOf(exp));
 	}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java
index f2ed684..109f401 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RefTest.java
@@ -84,6 +84,12 @@ private void writeSymref(String src, String dst) throws IOException {
 		}
 	}
 
+	private void writeNewRef(String name, ObjectId value) throws IOException {
+		RefUpdate updateRef = db.updateRef(name);
+		updateRef.setNewObjectId(value);
+		assertEquals(RefUpdate.Result.NEW, updateRef.update());
+	}
+
 	@Test
 	public void testRemoteNames() throws Exception {
 		FileBasedConfig config = db.getConfig();
@@ -192,6 +198,50 @@ public void testReadLooseRef() throws IOException {
 		assertEquals(Storage.LOOSE, ref.getStorage());
 	}
 
+	@Test
+	public void testGetShortRef() throws IOException {
+		Ref ref = db.getRef("master");
+		assertEquals("refs/heads/master", ref.getName());
+		assertEquals(db.resolve("refs/heads/master"), ref.getObjectId());
+	}
+
+	@Test
+	public void testGetShortExactRef() throws IOException {
+		assertNull(db.getRefDatabase().exactRef("master"));
+
+		Ref ref = db.getRefDatabase().exactRef("HEAD");
+		assertEquals("HEAD", ref.getName());
+		assertEquals("refs/heads/master", ref.getTarget().getName());
+		assertEquals(db.resolve("refs/heads/master"), ref.getObjectId());
+	}
+
+	@Test
+	public void testRefsUnderRefs() throws IOException {
+		ObjectId masterId = db.resolve("refs/heads/master");
+		writeNewRef("refs/heads/refs/foo/bar", masterId);
+
+		assertNull(db.getRefDatabase().exactRef("refs/foo/bar"));
+
+		Ref ref = db.getRef("refs/foo/bar");
+		assertEquals("refs/heads/refs/foo/bar", ref.getName());
+		assertEquals(db.resolve("refs/heads/master"), ref.getObjectId());
+	}
+
+	@Test
+	public void testAmbiguousRefsUnderRefs() throws IOException {
+		ObjectId masterId = db.resolve("refs/heads/master");
+		writeNewRef("refs/foo/bar", masterId);
+		writeNewRef("refs/heads/refs/foo/bar", masterId);
+
+		Ref exactRef = db.getRefDatabase().exactRef("refs/foo/bar");
+		assertEquals("refs/foo/bar", exactRef.getName());
+		assertEquals(masterId, exactRef.getObjectId());
+
+		Ref ref = db.getRef("refs/foo/bar");
+		assertEquals("refs/foo/bar", ref.getName());
+		assertEquals(masterId, ref.getObjectId());
+	}
+
 	/**
 	 * Let an "outsider" create a loose ref with the same name as a packed one
 	 *
diff --git a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF
index 91391e1..870d1da 100644
--- a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF
@@ -3,14 +3,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit.ui
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Vendor: %provider_name
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Export-Package: org.eclipse.jgit.awtui;version="4.0.1"
-Import-Package: org.eclipse.jgit.errors;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.lib;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.nls;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revplot;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.revwalk;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.transport;version="[4.0.1,4.1.0)",
- org.eclipse.jgit.util;version="[4.0.1,4.1.0)"
+Export-Package: org.eclipse.jgit.awtui;version="4.1.0"
+Import-Package: org.eclipse.jgit.errors;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.lib;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.nls;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revplot;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.revwalk;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.transport;version="[4.1.0,4.2.0)",
+ org.eclipse.jgit.util;version="[4.1.0,4.2.0)"
diff --git a/org.eclipse.jgit.ui/pom.xml b/org.eclipse.jgit.ui/pom.xml
index ad399b7..2981407 100644
--- a/org.eclipse.jgit.ui/pom.xml
+++ b/org.eclipse.jgit.ui/pom.xml
@@ -52,7 +52,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit.ui</artifactId>
diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF
index 0038b8e..cda808c 100644
--- a/org.eclipse.jgit/META-INF/MANIFEST.MF
+++ b/org.eclipse.jgit/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %plugin_name
 Bundle-SymbolicName: org.eclipse.jgit
-Bundle-Version: 4.0.1.qualifier
+Bundle-Version: 4.1.0.qualifier
 Bundle-Localization: plugin
 Bundle-Vendor: %provider_name
-Export-Package: org.eclipse.jgit.api;version="4.0.1";
+Export-Package: org.eclipse.jgit.api;version="4.1.0";
   uses:="org.eclipse.jgit.revwalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.diff,
@@ -19,56 +19,56 @@
    org.eclipse.jgit.submodule,
    org.eclipse.jgit.transport,
    org.eclipse.jgit.merge",
- org.eclipse.jgit.api.errors;version="4.0.1";
+ org.eclipse.jgit.api.errors;version="4.1.0";
   uses:="org.eclipse.jgit.lib,org.eclipse.jgit.errors",
- org.eclipse.jgit.attributes;version="4.0.1",
- org.eclipse.jgit.blame;version="4.0.1";
+ org.eclipse.jgit.attributes;version="4.1.0",
+ org.eclipse.jgit.blame;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.diff",
- org.eclipse.jgit.diff;version="4.0.1";
+ org.eclipse.jgit.diff;version="4.1.0";
   uses:="org.eclipse.jgit.patch,
    org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.util",
- org.eclipse.jgit.dircache;version="4.0.1";
+ org.eclipse.jgit.dircache;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.util,
    org.eclipse.jgit.events,
    org.eclipse.jgit.attributes",
- org.eclipse.jgit.errors;version="4.0.1";
+ org.eclipse.jgit.errors;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.internal.storage.pack,
    org.eclipse.jgit.transport,
    org.eclipse.jgit.dircache",
- org.eclipse.jgit.events;version="4.0.1";
+ org.eclipse.jgit.events;version="4.1.0";
   uses:="org.eclipse.jgit.lib",
- org.eclipse.jgit.fnmatch;version="4.0.1",
- org.eclipse.jgit.gitrepo;version="4.0.1";
+ org.eclipse.jgit.fnmatch;version="4.1.0",
+ org.eclipse.jgit.gitrepo;version="4.1.0";
   uses:="org.eclipse.jgit.api,
    org.eclipse.jgit.lib,
    org.eclipse.jgit.revwalk",
- org.eclipse.jgit.gitrepo.internal;version="4.0.1";x-internal:=true,
- org.eclipse.jgit.hooks;version="4.0.1",
- org.eclipse.jgit.ignore;version="4.0.1",
- org.eclipse.jgit.ignore.internal;version="4.0.1";x-friends:="org.eclipse.jgit.test",
- org.eclipse.jgit.internal;version="4.0.1";x-friends:="org.eclipse.jgit.test,org.eclipse.jgit.http.test",
- org.eclipse.jgit.internal.storage.dfs;version="4.0.1";
+ org.eclipse.jgit.gitrepo.internal;version="4.1.0";x-internal:=true,
+ org.eclipse.jgit.hooks;version="4.1.0",
+ org.eclipse.jgit.ignore;version="4.1.0",
+ org.eclipse.jgit.ignore.internal;version="4.1.0";x-friends:="org.eclipse.jgit.test",
+ org.eclipse.jgit.internal;version="4.1.0";x-friends:="org.eclipse.jgit.test,org.eclipse.jgit.http.test",
+ org.eclipse.jgit.internal.storage.dfs;version="4.1.0";
   x-friends:="org.eclipse.jgit.test,
    org.eclipse.jgit.http.server",
- org.eclipse.jgit.internal.storage.file;version="4.0.1";
+ org.eclipse.jgit.internal.storage.file;version="4.1.0";
   x-friends:="org.eclipse.jgit.test,
    org.eclipse.jgit.junit,
    org.eclipse.jgit.junit.http,
    org.eclipse.jgit.http.server,
    org.eclipse.jgit.java7.test,
    org.eclipse.jgit.pgm",
- org.eclipse.jgit.internal.storage.pack;version="4.0.1";x-friends:="org.eclipse.jgit.junit,org.eclipse.jgit.test,org.eclipse.jgit.pgm",
- org.eclipse.jgit.lib;version="4.0.1";
+ org.eclipse.jgit.internal.storage.pack;version="4.1.0";x-friends:="org.eclipse.jgit.junit,org.eclipse.jgit.test,org.eclipse.jgit.pgm",
+ org.eclipse.jgit.lib;version="4.1.0";
   uses:="org.eclipse.jgit.revwalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.util,
@@ -78,41 +78,41 @@
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.transport,
    org.eclipse.jgit.submodule",
- org.eclipse.jgit.merge;version="4.0.1";
+ org.eclipse.jgit.merge;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.diff,
    org.eclipse.jgit.dircache,
    org.eclipse.jgit.api",
- org.eclipse.jgit.nls;version="4.0.1",
- org.eclipse.jgit.notes;version="4.0.1";
+ org.eclipse.jgit.nls;version="4.1.0",
+ org.eclipse.jgit.notes;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.merge",
- org.eclipse.jgit.patch;version="4.0.1";
+ org.eclipse.jgit.patch;version="4.1.0";
   uses:="org.eclipse.jgit.lib,org.eclipse.jgit.diff",
- org.eclipse.jgit.revplot;version="4.0.1";
+ org.eclipse.jgit.revplot;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.revwalk",
- org.eclipse.jgit.revwalk;version="4.0.1";
+ org.eclipse.jgit.revwalk;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.diff,
    org.eclipse.jgit.revwalk.filter",
- org.eclipse.jgit.revwalk.filter;version="4.0.1";
+ org.eclipse.jgit.revwalk.filter;version="4.1.0";
   uses:="org.eclipse.jgit.revwalk,org.eclipse.jgit.util",
- org.eclipse.jgit.storage.file;version="4.0.1";
+ org.eclipse.jgit.storage.file;version="4.1.0";
   uses:="org.eclipse.jgit.lib,org.eclipse.jgit.util",
- org.eclipse.jgit.storage.pack;version="4.0.1";
+ org.eclipse.jgit.storage.pack;version="4.1.0";
   uses:="org.eclipse.jgit.lib",
- org.eclipse.jgit.submodule;version="4.0.1";
+ org.eclipse.jgit.submodule;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.treewalk",
- org.eclipse.jgit.transport;version="4.0.1";
+ org.eclipse.jgit.transport;version="4.1.0";
   uses:="org.eclipse.jgit.transport.resolver,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.internal.storage.pack,
@@ -124,26 +124,26 @@
    org.eclipse.jgit.transport.http,
    org.eclipse.jgit.errors,
    org.eclipse.jgit.storage.pack",
- org.eclipse.jgit.transport.http;version="4.0.1";
+ org.eclipse.jgit.transport.http;version="4.1.0";
   uses:="javax.net.ssl",
- org.eclipse.jgit.transport.resolver;version="4.0.1";
+ org.eclipse.jgit.transport.resolver;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.transport",
- org.eclipse.jgit.treewalk;version="4.0.1";
+ org.eclipse.jgit.treewalk;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.revwalk,
    org.eclipse.jgit.attributes,
    org.eclipse.jgit.treewalk.filter,
    org.eclipse.jgit.util,
    org.eclipse.jgit.dircache",
- org.eclipse.jgit.treewalk.filter;version="4.0.1";
+ org.eclipse.jgit.treewalk.filter;version="4.1.0";
   uses:="org.eclipse.jgit.treewalk",
- org.eclipse.jgit.util;version="4.0.1";
+ org.eclipse.jgit.util;version="4.1.0";
   uses:="org.eclipse.jgit.lib,
    org.eclipse.jgit.transport.http,
    org.eclipse.jgit.storage.file,
    org.ietf.jgss",
- org.eclipse.jgit.util.io;version="4.0.1"
+ org.eclipse.jgit.util.io;version="4.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Require-Bundle: com.jcraft.jsch;bundle-version="[0.1.37,0.2.0)"
diff --git a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF
index dbde3d4..d281967 100644
--- a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF
+++ b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF
@@ -3,5 +3,5 @@
 Bundle-Name: org.eclipse.jgit - Sources
 Bundle-SymbolicName: org.eclipse.jgit.source
 Bundle-Vendor: Eclipse.org - JGit
-Bundle-Version: 4.0.1.qualifier
-Eclipse-SourceBundle: org.eclipse.jgit;version="4.0.1.qualifier";roots="."
+Bundle-Version: 4.1.0.qualifier
+Eclipse-SourceBundle: org.eclipse.jgit;version="4.1.0.qualifier";roots="."
diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml
index c59eef8..515dd0c 100644
--- a/org.eclipse.jgit/pom.xml
+++ b/org.eclipse.jgit/pom.xml
@@ -53,7 +53,7 @@
   <parent>
     <groupId>org.eclipse.jgit</groupId>
     <artifactId>org.eclipse.jgit-parent</artifactId>
-    <version>4.0.1-SNAPSHOT</version>
+    <version>4.1.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>org.eclipse.jgit</artifactId>
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
index adc6bf1..85533d6 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java
@@ -1764,6 +1764,7 @@ private void findObjectsToPack(final ProgressMonitor countingMonitor,
 			countingMonitor.update((int) pack.getObjectCount());
 		endPhase(countingMonitor);
 		stats.timeCounting = System.currentTimeMillis() - countingStart;
+		stats.bitmapIndexMisses = -1;
 	}
 
 	private void findObjectsToPackUsingBitmaps(
@@ -2171,6 +2172,7 @@ public long getTotalObjects() {
 		/**
 		 * @return the count of objects that needed to be discovered through an
 		 *         object walk because they were not found in bitmap indices.
+		 *         Returns -1 if no bitmap indices were found.
 		 *
 		 * @since 4.0
 		 */
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java
index 22337e8..16953bb 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java
@@ -1200,8 +1200,6 @@ private static String readValue(final StringReader in, boolean quote,
 		for (;;) {
 			int c = in.read();
 			if (c < 0) {
-				if (value.length() == 0)
-					throw new ConfigInvalidException(JGitText.get().unexpectedEndOfConfigFile);
 				break;
 			}
 
@@ -1268,7 +1266,7 @@ private static String readValue(final StringReader in, boolean quote,
 
 			value.append((char) c);
 		}
-		return value.length() > 0 ? value.toString() : null;
+		return value.toString();
 	}
 
 	/**
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RefDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RefDatabase.java
index 7fea880..ef22fb9 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RefDatabase.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RefDatabase.java
@@ -47,6 +47,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -211,6 +212,9 @@ public boolean performsAtomicTransactions() {
 	 * Aside from taking advantage of {@link #SEARCH_PATH}, this method may be
 	 * able to more quickly resolve a single reference name than obtaining the
 	 * complete namespace by {@code getRefs(ALL).get(name)}.
+	 * <p>
+	 * To read a specific reference without using @{link #SEARCH_PATH}, see
+	 * {@link #exactRef(String)}.
 	 *
 	 * @param name
 	 *            the name of the reference. May be a short name which must be
@@ -222,6 +226,85 @@ public boolean performsAtomicTransactions() {
 	public abstract Ref getRef(String name) throws IOException;
 
 	/**
+	 * Read a single reference.
+	 * <p>
+	 * Unlike {@link #getRef}, this method expects an unshortened reference
+	 * name and does not search using the standard {@link #SEARCH_PATH}.
+	 *
+	 * @param name
+	 *             the unabbreviated name of the reference.
+	 * @return the reference (if it exists); else {@code null}.
+	 * @throws IOException
+	 *             the reference space cannot be accessed.
+	 * @since 4.1
+	 */
+	public Ref exactRef(String name) throws IOException {
+		int slash = name.lastIndexOf('/');
+		String prefix = name.substring(0, slash + 1);
+		String rest = name.substring(slash + 1);
+		Ref result = getRefs(prefix).get(rest);
+		if (result != null || slash != -1) {
+			return result;
+		}
+
+		for (Ref ref : getAdditionalRefs()) {
+			if (name.equals(ref.getName())) {
+				return ref;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Read the specified references.
+	 * <p>
+	 * This method expects a list of unshortened reference names and returns
+	 * a map from reference names to refs.  Any named references that do not
+	 * exist will not be included in the returned map.
+	 *
+	 * @param refs
+	 *             the unabbreviated names of references to look up.
+	 * @return modifiable map describing any refs that exist among the ref
+	 *         ref names supplied. The map can be an unsorted map.
+	 * @throws IOException
+	 *             the reference space cannot be accessed.
+	 * @since 4.1
+	 */
+	public Map<String, Ref> exactRef(String... refs) throws IOException {
+		Map<String, Ref> result = new HashMap<>(refs.length);
+		for (String name : refs) {
+			Ref ref = exactRef(name);
+			if (ref != null) {
+				result.put(name, ref);
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * Find the first named reference.
+	 * <p>
+	 * This method expects a list of unshortened reference names and returns
+	 * the first that exists.
+	 *
+	 * @param refs
+	 *             the unabbreviated names of references to look up.
+	 * @return the first named reference that exists (if any); else {@code null}.
+	 * @throws IOException
+	 *             the reference space cannot be accessed.
+	 * @since 4.1
+	 */
+	public Ref firstExactRef(String... refs) throws IOException {
+		for (String name : refs) {
+			Ref ref = exactRef(name);
+			if (ref != null) {
+				return ref;
+			}
+		}
+		return null;
+	}
+
+	/**
 	 * Get a section of the reference namespace.
 	 *
 	 * @param prefix
@@ -242,6 +325,7 @@ public boolean performsAtomicTransactions() {
 	 * The result list includes non-ref items such as MERGE_HEAD and
 	 * FETCH_RESULT cast to be refs. The names of these refs are not returned by
 	 * <code>getRefs(ALL)</code> but are accepted by {@link #getRef(String)}
+	 * and {@link #exactRef(String)}.
 	 *
 	 * @return a list of additional refs
 	 * @throws IOException
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
index 04abe22..918df94 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java
@@ -135,6 +135,8 @@ public static enum Source {
 
 	private boolean allowThin;
 
+	private boolean checkObjectCollisions;
+
 	private boolean needBaseObjectIds;
 
 	private boolean checkEofAfterPackFooter;
@@ -204,6 +206,7 @@ protected PackParser(final ObjectDatabase odb, final InputStream src) {
 		objectDigest = Constants.newMessageDigest();
 		tempObjectId = new MutableObjectId();
 		packDigest = Constants.newMessageDigest();
+		checkObjectCollisions = true;
 	}
 
 	/** @return true if a thin pack (missing base objects) is permitted. */
@@ -225,6 +228,39 @@ public void setAllowThin(final boolean allow) {
 	}
 
 	/**
+	 * @return if true received objects are verified to prevent collisions.
+	 * @since 4.1
+	 */
+	protected boolean isCheckObjectCollisions() {
+		return checkObjectCollisions;
+	}
+
+	/**
+	 * Enable checking for collisions with existing objects.
+	 * <p>
+	 * By default PackParser looks for each received object in the repository.
+	 * If the object already exists, the existing object is compared
+	 * byte-for-byte with the newly received copy to ensure they are identical.
+	 * The receive is aborted with an exception if any byte differs. This check
+	 * is necessary to prevent an evil attacker from supplying a replacement
+	 * object into this repository in the event that a discovery enabling SHA-1
+	 * collisions is made.
+	 * <p>
+	 * This check may be very costly to perform, and some repositories may have
+	 * other ways to segregate newly received object data. The check is enabled
+	 * by default, but can be explicitly disabled if the implementation can
+	 * provide the same guarantee, or is willing to accept the risks associated
+	 * with bypassing the check.
+	 *
+	 * @param check
+	 *            true to enable collision checking (strongly encouraged).
+	 * @since 4.1
+	 */
+	protected void setCheckObjectCollisions(boolean check) {
+		checkObjectCollisions = check;
+	}
+
+	/**
 	 * Configure this index pack instance to keep track of new objects.
 	 * <p>
 	 * By default an index pack doesn't save the new objects that were created
@@ -988,7 +1024,8 @@ private void whole(final long pos, final int type, final long sz)
 			}
 			inf.close();
 			tempObjectId.fromRaw(objectDigest.digest(), 0);
-			checkContentLater = readCurs.has(tempObjectId);
+			checkContentLater = isCheckObjectCollisions()
+					&& readCurs.has(tempObjectId);
 			data = null;
 
 		} else {
@@ -1022,17 +1059,19 @@ private void verifySafeObject(final AnyObjectId id, final int type,
 			}
 		}
 
-		try {
-			final ObjectLoader ldr = readCurs.open(id, type);
-			final byte[] existingData = ldr.getCachedBytes(data.length);
-			if (!Arrays.equals(data, existingData)) {
-				throw new IOException(MessageFormat.format(
-						JGitText.get().collisionOn, id.name()));
+		if (isCheckObjectCollisions()) {
+			try {
+				final ObjectLoader ldr = readCurs.open(id, type);
+				final byte[] existingData = ldr.getCachedBytes(data.length);
+				if (!Arrays.equals(data, existingData)) {
+					throw new IOException(MessageFormat.format(
+							JGitText.get().collisionOn, id.name()));
+				}
+			} catch (MissingObjectException notLocal) {
+				// This is OK, we don't have a copy of the object locally
+				// but the API throws when we try to read it as usually its
+				// an error to read something that doesn't exist.
 			}
-		} catch (MissingObjectException notLocal) {
-			// This is OK, we don't have a copy of the object locally
-			// but the API throws when we try to read it as usually its
-			// an error to read something that doesn't exist.
 		}
 	}
 
diff --git a/pom.xml b/pom.xml
index 2a2eb37..91f279b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
   <groupId>org.eclipse.jgit</groupId>
   <artifactId>org.eclipse.jgit-parent</artifactId>
   <packaging>pom</packaging>
-  <version>4.0.1-SNAPSHOT</version>
+  <version>4.1.0-SNAPSHOT</version>
 
   <name>JGit - Parent</name>
   <url>${jgit-url}</url>