diff options
159 files changed, 3341 insertions, 2001 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES deleted file mode 100644 index ffb3d90584..0000000000 --- a/DEPENDENCIES +++ /dev/null @@ -1,70 +0,0 @@ -maven/mavencentral/args4j/args4j/2.33, MIT, approved, CQ11068 -maven/mavencentral/com.google.code.gson/gson/2.8.9, Apache-2.0, approved, CQ23496 -maven/mavencentral/com.googlecode.javaewah/JavaEWAH/1.1.13, Apache-2.0, approved, CQ11658 -maven/mavencentral/com.jcraft/jsch/0.1.55, BSD-3-Clause, approved, CQ19435 -maven/mavencentral/com.jcraft/jzlib/1.1.3, BSD-2-Clause, approved, CQ6218 -maven/mavencentral/commons-codec/commons-codec/1.11, Apache-2.0 AND BSD-3-Clause, approved, CQ15971 -maven/mavencentral/commons-logging/commons-logging/1.2, Apache-2.0, approved, CQ10162 -maven/mavencentral/javax.servlet/javax.servlet-api/4.0.0, (CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0) AND Apache-2.0, approved, CQ16125 -maven/mavencentral/junit/junit/4.13.2, EPL-2.0, approved, CQ23636 -maven/mavencentral/net.bytebuddy/byte-buddy-agent/1.9.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/net.bytebuddy/byte-buddy/1.9.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/net.i2p.crypto/eddsa/0.3.0, CC0-1.0, approved, CQ22537 -maven/mavencentral/net.java.dev.jna/jna-platform/5.8.0, Apache-2.0 OR LGPL-2.1-or-later, approved, CQ23218 -maven/mavencentral/net.java.dev.jna/jna/5.8.0, Apache-2.0 OR LGPL-2.1-or-later, approved, CQ23217 -maven/mavencentral/net.sf.jopt-simple/jopt-simple/4.6, MIT, approved, clearlydefined -maven/mavencentral/org.apache.ant/ant-launcher/1.10.12, Apache-2.0 AND W3C AND LicenseRef-Public-Domain, approved, CQ15560 -maven/mavencentral/org.apache.ant/ant/1.10.12, Apache-2.0 AND W3C AND LicenseRef-Public-Domain, approved, CQ15560 -maven/mavencentral/org.apache.commons/commons-compress/1.21, Apache-2.0 AND BSD-3-Clause AND bzip2-1.0.6 AND LicenseRef-Public-Domain, approved, CQ23710 -maven/mavencentral/org.apache.commons/commons-math3/3.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.apache.httpcomponents/httpclient/4.5.13, Apache-2.0 AND LicenseRef-Public-Domain, approved, CQ23527 -maven/mavencentral/org.apache.httpcomponents/httpcore/4.4.14, Apache-2.0, approved, CQ23528 -maven/mavencentral/org.apache.sshd/sshd-common/2.8.0, Apache-2.0 AND ISC, approved, #2349 -maven/mavencentral/org.apache.sshd/sshd-core/2.8.0, Apache-2.0, approved, #2331 -maven/mavencentral/org.apache.sshd/sshd-osgi/2.8.0, Apache-2.0, approved, CQ23892 -maven/mavencentral/org.apache.sshd/sshd-sftp/2.8.0, Apache-2.0, approved, CQ23893 -maven/mavencentral/org.assertj/assertj-core/3.20.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.bouncycastle/bcpg-jdk18on/1.71, Apache-2.0, approved, #2665 -maven/mavencentral/org.bouncycastle/bcpkix-jdk18on/1.71, MIT, approved, #2662 -maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.71, MIT AND LicenseRef-scancode-ocb-open-source-2013, approved, #2666 -maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.71, MIT, approved, #2663 -maven/mavencentral/org.eclipse.jetty.toolchain/jetty-servlet-api/4.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-http/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-io/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-security/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-server/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-servlet/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-util/10.0.6, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ant.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ant/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.archive/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.gpg.bc/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.http.apache/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.http.server/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.http.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.junit.http/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.junit.ssh/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.junit/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.lfs.server.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.lfs.server/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.lfs.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.lfs/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.pgm.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.pgm/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ssh.apache.agent/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ssh.apache.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ssh.apache/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ssh.jsch/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.test/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit.ui/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.eclipse.jgit/org.eclipse.jgit/6.3.0-SNAPSHOT, BSD-3-Clause, approved, technology.jgit -maven/mavencentral/org.hamcrest/hamcrest-core/1.3, BSD-2-Clause, approved, CQ11429 -maven/mavencentral/org.mockito/mockito-core/2.23.0, Apache-2.0 AND MIT, approved, #958 -maven/mavencentral/org.objenesis/objenesis/2.6, Apache-2.0, approved, CQ15478 -maven/mavencentral/org.openjdk.jmh/jmh-core/1.32, GPL-2.0-only with Classpath-exception-2.0, approved, #959 -maven/mavencentral/org.openjdk.jmh/jmh-generator-annprocess/1.32, GPL-2.0-only with Classpath-exception-2.0, approved, #962 -maven/mavencentral/org.osgi/org.osgi.core/6.0.0, Apache-2.0, approved, #1794 -maven/mavencentral/org.slf4j/jcl-over-slf4j/1.7.32, Apache-2.0, approved, CQ12843 -maven/mavencentral/org.slf4j/slf4j-api/1.7.30, MIT, approved, CQ13368 -maven/mavencentral/org.slf4j/slf4j-simple/1.7.30, MIT, approved, CQ7952 -maven/mavencentral/org.tukaani/xz/1.9, LicenseRef-Public-Domain, approved, CQ23498 @@ -24,20 +24,20 @@ register_toolchains("//tools:error_prone_warnings_toolchain_java11_definition") register_toolchains("//tools:error_prone_warnings_toolchain_java17_definition") -JMH_VERS = "1.32" +JMH_VERS = "1.35" maven_jar( name = "jmh-core", artifact = "org.openjdk.jmh:jmh-core:" + JMH_VERS, attach_source = False, - sha1 = "9a8b69ea08118fd4e5d30a152d37b7087ee4a720", + sha1 = "c14d712be8e423969fcd344bc801cf5d3ea3b62a", ) maven_jar( name = "jmh-annotations", artifact = "org.openjdk.jmh:jmh-generator-annprocess:" + JMH_VERS, attach_source = False, - sha1 = "0a28eccc75e0d65984ce25e1ec4dd021a0ca6c57", + sha1 = "50fba446d32d22f95f51a391f3450e03af006754", ) maven_jar( @@ -86,8 +86,8 @@ maven_jar( maven_jar( name = "httpcore", - artifact = "org.apache.httpcomponents:httpcore:4.4.14", - sha1 = "9dd1a631c082d92ecd4bd8fd4cf55026c720a8c1", + artifact = "org.apache.httpcomponents:httpcore:4.4.15", + sha1 = "7f2e0c573eaa7a74bac2e89b359e1f73d92a0a1d", ) maven_jar( @@ -104,14 +104,14 @@ maven_jar( maven_jar( name = "jna", - artifact = "net.java.dev.jna:jna:5.8.0", - sha1 = "3551d8d827e54858214107541d3aff9c615cb615", + artifact = "net.java.dev.jna:jna:5.12.1", + sha1 = "b1e93a735caea94f503e95e6fe79bf9cdc1e985d", ) maven_jar( name = "jna-platform", - artifact = "net.java.dev.jna:jna-platform:5.8.0", - sha1 = "2f12f6d7f7652270d13624cef1b82d8cd9a5398e", + artifact = "net.java.dev.jna:jna-platform:5.12.1", + sha1 = "097406a297c852f4a41e688a176ec675f72e8329", ) maven_jar( @@ -176,8 +176,8 @@ maven_jar( maven_jar( name = "mockito", - artifact = "org.mockito:mockito-core:2.23.0", - sha1 = "497ddb32fd5d01f9dbe99a2ec790aeb931dff1b1", + artifact = "org.mockito:mockito-core:4.8.1", + sha1 = "d8eb9dec8747d08645347bb8c69088ac83197975", ) maven_jar( @@ -186,30 +186,30 @@ maven_jar( sha1 = "66f1f0ebd6db2b24e4a731979171da16ba919cd5", ) -BYTE_BUDDY_VERSION = "1.9.0" +BYTE_BUDDY_VERSION = "1.12.18" maven_jar( name = "bytebuddy", artifact = "net.bytebuddy:byte-buddy:" + BYTE_BUDDY_VERSION, - sha1 = "8cb0d5baae526c9df46ae17693bbba302640538b", + sha1 = "875a9c3f29d2f6f499dfd60d76e97a343f9b1233", ) maven_jar( name = "bytebuddy-agent", artifact = "net.bytebuddy:byte-buddy-agent:" + BYTE_BUDDY_VERSION, - sha1 = "37b5703b4a6290be3fffc63ae9c6bcaaee0ff856", + sha1 = "417a7310a7bf1c1aae5ca502d26515f9c2f94396", ) maven_jar( name = "objenesis", - artifact = "org.objenesis:objenesis:2.6", - sha1 = "639033469776fd37c08358c6b92a4761feb2af4b", + artifact = "org.objenesis:objenesis:3.3", + sha1 = "1049c09f1de4331e8193e579448d0916d75b7631", ) maven_jar( name = "gson", - artifact = "com.google.code.gson:gson:2.8.9", - sha1 = "8a432c1d6825781e21a02db2e2c33c5fde2833b9", + artifact = "com.google.code.gson:gson:2.9.1", + sha1 = "02cc2131b98ebfb04e2b2c7dfb84431f4045096b", ) JETTY_VER = "10.0.6" @@ -263,32 +263,32 @@ maven_jar( src_sha1 = "f35f5525a5d30dc1237b85457d758d578e3ce8d0", ) -BOUNCYCASTLE_VER = "1.71" +BOUNCYCASTLE_VER = "1.72" maven_jar( name = "bcpg", artifact = "org.bouncycastle:bcpg-jdk18on:" + BOUNCYCASTLE_VER, - sha1 = "d42ad9fe1b89246bb4ca2a45c0646bf6f6066013", - src_sha1 = "75b8faa0a36bd27207489c06a21a1958e208034e", + sha1 = "1a36a1740d07869161f6f0d01fae8d72dd1d8320", + src_sha1 = "fe19ed35a28b345d00459de55cd20ad9e1385a4f", ) maven_jar( name = "bcprov", artifact = "org.bouncycastle:bcprov-jdk18on:" + BOUNCYCASTLE_VER, - sha1 = "943e8d0c2bd592ad78759c39d6f749fafaf29cf4", - src_sha1 = "5d398e3d54c0b8d6e24b0d929f45a89939d78f02", + sha1 = "d8dc62c28a3497d29c93fee3e71c00b27dff41b4", + src_sha1 = "308b5a8a89c29169390210b7b8e2b2534b27ff19", ) maven_jar( name = "bcutil", artifact = "org.bouncycastle:bcutil-jdk18on:" + BOUNCYCASTLE_VER, - sha1 = "57daa18bc93730eab46291d9b55a15480e013265", - src_sha1 = "2ece8feb18f69679f9b23d36007ac3b79eaf9e6d", + sha1 = "41f19a69ada3b06fa48781120d8bebe1ba955c77", + src_sha1 = "fc16dc9eb28a2ee6cbe35ecda6ec7e050ddf3cba", ) maven_jar( name = "bcpkix", artifact = "org.bouncycastle:bcpkix-jdk18on:" + BOUNCYCASTLE_VER, - sha1 = "211bcae48a96c688ca215394d631eec2b874fff1", - src_sha1 = "c72fab9b147394495a0a2858730f62b262f8a844", + sha1 = "bb3fdb5162ccd5085e8d7e57fada4d8eaa571f5a", + src_sha1 = "6fa7015a0be76b270e911bf426abf8efd1c5e42d", ) diff --git a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF index 87a5f5a9c1..cc7385a071 100644 --- a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF @@ -5,13 +5,13 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ant.test Bundle-SymbolicName: org.eclipse.jgit.ant.test Bundle-Vendor: %Bundle-Vendor -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.apache.tools.ant, - org.eclipse.jgit.ant.tasks;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.ant.tasks;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)" diff --git a/org.eclipse.jgit.ant.test/pom.xml b/org.eclipse.jgit.ant.test/pom.xml index bcd87a7428..aba268c0a7 100644 --- a/org.eclipse.jgit.ant.test/pom.xml +++ b/org.eclipse.jgit.ant.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 0d3e40f5c4..556d6a4aa2 100644 --- a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF @@ -3,13 +3,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ant Bundle-SymbolicName: org.eclipse.jgit.ant -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.apache.tools.ant, - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)" + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)" Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.ant;version="6.3.1", - org.eclipse.jgit.ant.tasks;version="6.3.1"; +Export-Package: org.eclipse.jgit.ant;version="6.4.0", + org.eclipse.jgit.ant.tasks;version="6.4.0"; uses:="org.apache.tools.ant, org.apache.tools.ant.types" diff --git a/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF index af7a021cb0..d2dcd066d4 100644 --- a/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ant - Sources Bundle-SymbolicName: org.eclipse.jgit.ant.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ant;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ant;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.ant/pom.xml b/org.eclipse.jgit.ant/pom.xml index df207caad6..6ccea33f3b 100644 --- a/org.eclipse.jgit.ant/pom.xml +++ b/org.eclipse.jgit.ant/pom.xml @@ -15,7 +15,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 42e207d22d..2732a6b8d0 100644 --- a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.archive Bundle-SymbolicName: org.eclipse.jgit.archive -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -13,17 +13,17 @@ Import-Package: org.apache.commons.compress.archivers;version="[1.4,2.0)", 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="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.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="6.3.1"; +Export-Package: org.eclipse.jgit.archive;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.api, org.apache.commons.compress.archivers, org.osgi.framework", - org.eclipse.jgit.archive.internal;version="6.3.1";x-internal:=true + org.eclipse.jgit.archive.internal;version="6.4.0";x-internal:=true diff --git a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF index 816fef300a..1c8cc9a87d 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-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.archive - Sources Bundle-SymbolicName: org.eclipse.jgit.archive.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.archive;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.archive;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.archive/pom.xml b/org.eclipse.jgit.archive/pom.xml index 3376350ade..92f5a161c4 100644 --- a/org.eclipse.jgit.archive/pom.xml +++ b/org.eclipse.jgit.archive/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.archive</artifactId> diff --git a/org.eclipse.jgit.benchmarks/pom.xml b/org.eclipse.jgit.benchmarks/pom.xml index dfab1d9a05..f30d1149d1 100644 --- a/org.eclipse.jgit.benchmarks/pom.xml +++ b/org.eclipse.jgit.benchmarks/pom.xml @@ -14,7 +14,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.eclipse.jgit</groupId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> <artifactId>org.eclipse.jgit.benchmarks</artifactId> <packaging>jar</packaging> @@ -23,7 +23,7 @@ <properties> <java.version>11</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <jmh.version>1.32</jmh.version> + <jmh.version>1.35</jmh.version> <uberjar.name>benchmarks</uberjar.name> </properties> @@ -180,7 +180,7 @@ <dependency><!-- add support for ssh/scp --> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> - <version>3.4.3</version> + <version>3.5.2</version> </dependency> </dependencies> </plugin> diff --git a/org.eclipse.jgit.coverage/pom.xml b/org.eclipse.jgit.coverage/pom.xml index d148b72ecd..66f28e3604 100644 --- a/org.eclipse.jgit.coverage/pom.xml +++ b/org.eclipse.jgit.coverage/pom.xml @@ -14,7 +14,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -27,88 +27,88 @@ <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.archive</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.apache</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.server</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ui</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache.test</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> </dependencies> diff --git a/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF index 0eec0f63e4..d497f7ec7f 100644 --- a/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.gpg.bc.test Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -12,9 +12,9 @@ Import-Package: org.bouncycastle.jce.provider;version="[1.65.0,2.0.0)", org.bouncycastle.openpgp.operator;version="[1.65.0,2.0.0)", org.bouncycastle.openpgp.operator.jcajce;version="[1.65.0,2.0.0)", org.bouncycastle.util.encoders;version="[1.65.0,2.0.0)", - org.eclipse.jgit.gpg.bc.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.gpg.bc.internal.keys;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.sha1;version="[6.3.1,6.4.0)", + org.eclipse.jgit.gpg.bc.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.gpg.bc.internal.keys;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.sha1;version="[6.4.0,6.5.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.gpg.bc.test/pom.xml b/org.eclipse.jgit.gpg.bc.test/pom.xml index 5f169566dc..92e20a4d58 100644 --- a/org.eclipse.jgit.gpg.bc.test/pom.xml +++ b/org.eclipse.jgit.gpg.bc.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.gpg.bc.test</artifactId> diff --git a/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF b/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF index 02d9cfe4d4..72a61e2aab 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF @@ -3,10 +3,10 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.gpg.bc Bundle-SymbolicName: org.eclipse.jgit.gpg.bc;singleton:=true -Fragment-Host: org.eclipse.jgit;bundle-version="[6.3.1,6.4.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[6.4.0,6.5.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: org.bouncycastle.asn1;version="[1.69.0,2.0.0)", org.bouncycastle.asn1.cryptlib;version="[1.69.0,2.0.0)", @@ -29,9 +29,9 @@ Import-Package: org.bouncycastle.asn1;version="[1.69.0,2.0.0)", org.bouncycastle.util;version="[1.69.0,2.0.0)", org.bouncycastle.util.encoders;version="[1.69.0,2.0.0)", org.bouncycastle.util.io;version="[1.69.0,2.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.gpg.bc;version="6.3.1", - org.eclipse.jgit.gpg.bc.internal;version="6.3.1";x-friends:="org.eclipse.jgit.gpg.bc.test", - org.eclipse.jgit.gpg.bc.internal.keys;version="6.3.1";x-friends:="org.eclipse.jgit.gpg.bc.test" +Export-Package: org.eclipse.jgit.gpg.bc;version="6.4.0", + org.eclipse.jgit.gpg.bc.internal;version="6.4.0";x-friends:="org.eclipse.jgit.gpg.bc.test", + org.eclipse.jgit.gpg.bc.internal.keys;version="6.4.0";x-friends:="org.eclipse.jgit.gpg.bc.test" diff --git a/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF index 795cbce18e..3d06cb21ab 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.gpg.bc - Sources Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.gpg.bc/pom.xml b/org.eclipse.jgit.gpg.bc/pom.xml index 3110807a54..375c9d3323 100644 --- a/org.eclipse.jgit.gpg.bc/pom.xml +++ b/org.eclipse.jgit.gpg.bc/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.gpg.bc</artifactId> diff --git a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF index 0587abf217..76948ee03f 100644 --- a/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.apache Bundle-SymbolicName: org.eclipse.jgit.http.apache -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor @@ -25,11 +25,11 @@ Import-Package: org.apache.http;version="[4.3.0,5.0.0)", org.apache.http.impl.conn;version="[4.4.0,5.0.0)", org.apache.http.params;version="[4.3.0,5.0.0)", org.apache.http.ssl;version="[4.3.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)" -Export-Package: org.eclipse.jgit.transport.http.apache;version="6.3.1"; + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)" +Export-Package: org.eclipse.jgit.transport.http.apache;version="6.4.0"; uses:="org.apache.http.client, org.eclipse.jgit.transport.http, org.apache.http.entity, diff --git a/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF index fcc2df7776..f31b5d77d8 100644 --- a/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.http.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.http.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.http.apache/pom.xml b/org.eclipse.jgit.http.apache/pom.xml index a7e4f3bf64..30318cdb28 100644 --- a/org.eclipse.jgit.http.apache/pom.xml +++ b/org.eclipse.jgit.http.apache/pom.xml @@ -15,7 +15,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 2eb2978359..aa1bf29e8a 100644 --- a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF @@ -3,13 +3,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.server Bundle-SymbolicName: org.eclipse.jgit.http.server -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.http.server;version="6.3.1", - org.eclipse.jgit.http.server.glue;version="6.3.1"; +Export-Package: org.eclipse.jgit.http.server;version="6.4.0", + org.eclipse.jgit.http.server.glue;version="6.4.0"; uses:="javax.servlet,javax.servlet.http", - org.eclipse.jgit.http.server.resolver;version="6.3.1"; + org.eclipse.jgit.http.server.resolver;version="6.4.0"; uses:="org.eclipse.jgit.transport.resolver, org.eclipse.jgit.lib, org.eclipse.jgit.transport, @@ -18,14 +18,14 @@ Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: javax.servlet;version="[2.5.0,5.0.0)", javax.servlet.http;version="[2.5.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.parser;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.resolver;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)" + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.parser;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.resolver;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)" diff --git a/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF index b9aefb0489..2953ccf07a 100644 --- a/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.http.server - Sources Bundle-SymbolicName: org.eclipse.jgit.http.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.http.server/pom.xml b/org.eclipse.jgit.http.server/pom.xml index 8364fc6dd2..06beb34e08 100644 --- a/org.eclipse.jgit.http.server/pom.xml +++ b/org.eclipse.jgit.http.server/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.server</artifactId> diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java index f1155dcf57..078b22a700 100644 --- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java +++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java @@ -226,7 +226,8 @@ public class GitSmartHttpTools { // So, cheat and read the first line. String line = new PacketLineIn(req.getInputStream()).readString(); FirstCommand parsed = FirstCommand.fromLine(line); - return parsed.getCapabilities().contains(CAPABILITY_SIDE_BAND_64K); + return parsed.getCapabilities() + .containsKey(CAPABILITY_SIDE_BAND_64K); } catch (IOException e) { // Probably the connection is closed and a subsequent write will fail, but // try it just in case. diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF index d585f2862b..dc709a3b88 100644 --- a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.test Bundle-SymbolicName: org.eclipse.jgit.http.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -26,26 +26,26 @@ Import-Package: javax.servlet;version="[2.5.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.thread;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.http.server;version="[6.3.1,6.4.0)", - org.eclipse.jgit.http.server.glue;version="[6.3.1,6.4.0)", - org.eclipse.jgit.http.server.resolver;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http.apache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.resolver;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.http.server;version="[6.4.0,6.5.0)", + org.eclipse.jgit.http.server.glue;version="[6.4.0,6.5.0)", + org.eclipse.jgit.http.server.resolver;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http.apache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.resolver;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.http.test/pom.xml b/org.eclipse.jgit.http.test/pom.xml index f71782b145..4767d20840 100644 --- a/org.eclipse.jgit.http.test/pom.xml +++ b/org.eclipse.jgit.http.test/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 30e33065ce..21907079d8 100644 --- a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.http Bundle-SymbolicName: org.eclipse.jgit.junit.http -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -21,17 +21,17 @@ Import-Package: javax.servlet;version="[2.5.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.ssl;version="[10.0.0,11.0.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.http.server;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.resolver;version="[6.3.1,6.4.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.http.server;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.resolver;version="[6.4.0,6.5.0)", org.junit;version="[4.13,5.0.0)", org.slf4j.helpers;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit.http;version="6.3.1"; +Export-Package: org.eclipse.jgit.junit.http;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.junit, javax.servlet.http, diff --git a/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF index d50a9a426b..4b3741b1d1 100644 --- a/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit.http - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.http.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.junit.http/pom.xml b/org.eclipse.jgit.junit.http/pom.xml index 7020d027dd..f76f90f241 100644 --- a/org.eclipse.jgit.junit.http/pom.xml +++ b/org.eclipse.jgit.junit.http/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit.http</artifactId> diff --git a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF index e87809021e..e2fb037546 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.ssh Bundle-SymbolicName: org.eclipse.jgit.junit.ssh -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -33,16 +33,16 @@ Import-Package: org.apache.sshd.common;version="[2.8.0,2.9.0)", org.apache.sshd.server.subsystem;version="[2.8.0,2.9.0)", org.apache.sshd.sftp;version="[2.8.0,2.9.0)", org.apache.sshd.sftp.server;version="[2.8.0,2.9.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit.ssh;version="6.3.1" +Export-Package: org.eclipse.jgit.junit.ssh;version="6.4.0" diff --git a/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF index 8627975289..f1c8d62b11 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit.ssh - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.ssh.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.junit.ssh/pom.xml b/org.eclipse.jgit.junit.ssh/pom.xml index ba82ed4d78..04988c4417 100644 --- a/org.eclipse.jgit.junit.ssh/pom.xml +++ b/org.eclipse.jgit.junit.ssh/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit.ssh</artifactId> diff --git a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF index b2cb44bb29..63d19d1c64 100644 --- a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF @@ -3,35 +3,35 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit Bundle-SymbolicName: org.eclipse.jgit.junit -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.dircache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.merge;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="6.3.1", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.time;version="[6.3.1,6.4.0)", +Import-Package: org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.dircache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.merge;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="6.4.0", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.time;version="[6.4.0,6.5.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)", org.junit.runners.model;version="[4.13,5.0.0)", org.slf4j;version="[1.7.0,2.0.0)" -Export-Package: org.eclipse.jgit.junit;version="6.3.1"; +Export-Package: org.eclipse.jgit.junit;version="6.4.0"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -44,4 +44,4 @@ Export-Package: org.eclipse.jgit.junit;version="6.3.1"; org.junit.runners.model, org.junit.runner, org.eclipse.jgit.util.time", - org.eclipse.jgit.junit.time;version="6.3.1";uses:="org.eclipse.jgit.util.time" + org.eclipse.jgit.junit.time;version="6.4.0";uses:="org.eclipse.jgit.util.time" diff --git a/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF index 4daa5769a7..b3d3b4137f 100644 --- a/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.junit - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.junit;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.junit;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.junit/pom.xml b/org.eclipse.jgit.junit/pom.xml index fe2211ba5e..329be51b08 100644 --- a/org.eclipse.jgit.junit/pom.xml +++ b/org.eclipse.jgit.junit/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.junit</artifactId> diff --git a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF index 5962ebb72e..59485aa5a6 100644 --- a/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server.test Bundle-SymbolicName: org.eclipse.jgit.lfs.server.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -26,24 +26,24 @@ Import-Package: javax.servlet;version="[3.1.0,5.0.0)", org.eclipse.jetty.util.log;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.security;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.thread;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.server;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.server.fs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.test;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.server;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.server.fs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.test;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.lfs.server.test/pom.xml b/org.eclipse.jgit.lfs.server.test/pom.xml index baa6a9d392..d27a9671c8 100644 --- a/org.eclipse.jgit.lfs.server.test/pom.xml +++ b/org.eclipse.jgit.lfs.server.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId> diff --git a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF index 1e7dc5f098..68f20422a3 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF @@ -3,19 +3,19 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server Bundle-SymbolicName: org.eclipse.jgit.lfs.server -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.lfs.server;version="6.3.1"; +Export-Package: org.eclipse.jgit.lfs.server;version="6.4.0"; uses:="javax.servlet.http, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.fs;version="6.3.1"; + org.eclipse.jgit.lfs.server.fs;version="6.4.0"; uses:="javax.servlet, javax.servlet.http, org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.internal;version="6.3.1";x-internal:=true, - org.eclipse.jgit.lfs.server.s3;version="6.3.1"; + org.eclipse.jgit.lfs.server.internal;version="6.4.0";x-internal:=true, + org.eclipse.jgit.lfs.server.s3;version="6.4.0"; uses:="org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib" Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -24,15 +24,15 @@ Import-Package: com.google.gson;version="[2.8.0,3.0.0)", javax.servlet.annotation;version="[3.1.0,5.0.0)", javax.servlet.http;version="[3.1.0,5.0.0)", org.apache.http;version="[4.3.0,5.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http.apache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http.apache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.slf4j;version="[1.7.0,2.0.0)" diff --git a/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF index b42fb0a31d..bd9fb71a46 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.lfs.server - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.lfs.server/pom.xml b/org.eclipse.jgit.lfs.server/pom.xml index 79449386f6..1a435a23d7 100644 --- a/org.eclipse.jgit.lfs.server/pom.xml +++ b/org.eclipse.jgit.lfs.server/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.server</artifactId> diff --git a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF index e849423dc4..68db77fcb5 100644 --- a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF @@ -3,27 +3,27 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.test Bundle-SymbolicName: org.eclipse.jgit.lfs.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.attributes;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", +Import-Package: org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.attributes;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest.core;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)" -Export-Package: org.eclipse.jgit.lfs.test;version="6.3.1";x-friends:="org.eclipse.jgit.lfs.server.test" +Export-Package: org.eclipse.jgit.lfs.test;version="6.4.0";x-friends:="org.eclipse.jgit.lfs.server.test" diff --git a/org.eclipse.jgit.lfs.test/pom.xml b/org.eclipse.jgit.lfs.test/pom.xml index ab82454421..faa37bed16 100644 --- a/org.eclipse.jgit.lfs.test/pom.xml +++ b/org.eclipse.jgit.lfs.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.test</artifactId> diff --git a/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF index f1aee3a854..e744ac1ed4 100644 --- a/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF @@ -3,32 +3,32 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs Bundle-SymbolicName: org.eclipse.jgit.lfs -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.lfs;version="6.3.1", - org.eclipse.jgit.lfs.errors;version="6.3.1", - org.eclipse.jgit.lfs.internal;version="6.3.1";x-friends:="org.eclipse.jgit.lfs.test,org.eclipse.jgit.lfs.server.fs,org.eclipse.jgit.lfs.server", - org.eclipse.jgit.lfs.lib;version="6.3.1" +Export-Package: org.eclipse.jgit.lfs;version="6.4.0", + org.eclipse.jgit.lfs.errors;version="6.4.0", + org.eclipse.jgit.lfs.internal;version="6.4.0";x-friends:="org.eclipse.jgit.lfs.test,org.eclipse.jgit.lfs.server.fs,org.eclipse.jgit.lfs.server", + org.eclipse.jgit.lfs.lib;version="6.4.0" Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: com.google.gson;version="[2.8.2,3.0.0)", com.google.gson.stream;version="[2.8.2,3.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)";resolution:=optional, - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.attributes;version="[6.3.1,6.4.0)", - org.eclipse.jgit.diff;version="[6.3.1,6.4.0)", - org.eclipse.jgit.dircache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.hooks;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)" + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)";resolution:=optional, + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.attributes;version="[6.4.0,6.5.0)", + org.eclipse.jgit.diff;version="[6.4.0,6.5.0)", + org.eclipse.jgit.dircache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.hooks;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)" diff --git a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF index e1ff6fa29d..95b74f038f 100644 --- a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.lfs - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.lfs/pom.xml b/org.eclipse.jgit.lfs/pom.xml index abf2ff7f5d..54fb9716de 100644 --- a/org.eclipse.jgit.lfs/pom.xml +++ b/org.eclipse.jgit.lfs/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs</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 75f416ac80..22ce927cd0 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="6.3.1.qualifier" + version="6.4.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 ee1104886d..7fb5616624 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml index e73ae31f99..567f5fa3a4 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.gpg.bc" label="%featureName" - version="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml index 1bbf567979..732bad9a7b 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 58d484f6ff..460a0747db 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="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin 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 00ff3ce563..f42234102e 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 @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 9e2aec37ed..72970deac7 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="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -24,7 +24,7 @@ <requires> <import plugin="com.jcraft.jsch"/> - <import plugin="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin 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 ecfcf55592..630f9591d9 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 @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml index 0996158503..9e1c6406fd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.lfs" label="%featureName" - version="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml index 6c415aae01..96929e40d8 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 9aa6af124e..c749017b0d 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="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -35,9 +35,9 @@ version="0.0.0"/> <requires> - <import feature="org.eclipse.jgit" version="6.3.1" match="equivalent"/> - <import feature="org.eclipse.jgit.lfs" version="6.3.1" match="equivalent"/> - <import feature="org.eclipse.jgit.ssh.apache" version="6.3.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.4.0" match="equivalent"/> + <import feature="org.eclipse.jgit.lfs" version="6.4.0" match="equivalent"/> + <import feature="org.eclipse.jgit.ssh.apache" version="6.4.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 47a6a203b9..ab1e78c635 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 @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 9ed0f5ebb5..5c31a956ac 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 fb5b764ac5..7171cff15e 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="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin 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 e558c89f3a..fc15b38495 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 @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> @@ -30,7 +30,7 @@ <dependency> <groupId>org.eclipse.jgit.feature</groupId> <artifactId>org.eclipse.jgit</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </dependency> </dependencies> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml index 3cecf6d83a..f78a9e71a5 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.ssh.apache" label="%featureName" - version="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import feature="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml index 92a0300632..2a66f37748 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml index a8bae00e99..7b5f2d96bc 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml @@ -2,7 +2,7 @@ <feature id="org.eclipse.jgit.ssh.jsch" label="%featureName" - version="6.3.1.qualifier" + version="6.4.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="6.3.1" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="6.4.0" match="equivalent"/> </requires> <plugin diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml index bf08c98088..41277c6c78 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 8861f40dc8..41b7306b39 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 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: JGit Target Platform Bundle Bundle-SymbolicName: org.eclipse.jgit.target -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target index 76aafcce7b..cfdf40cc51 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.17" sequenceNumber="1662389260"> +<target name="jgit-4.17" sequenceNumber="1668442243"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.tpd index 8c28b96d11..1f6d8b65bd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.tpd @@ -1,7 +1,7 @@ target "jgit-4.17" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2020-09/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target index f48ed6e52d..d658228b8e 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.18" sequenceNumber="1662389260"> +<target name="jgit-4.18" sequenceNumber="1668442243"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.tpd index a0cf7f71d0..ace8951ad8 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.tpd @@ -1,7 +1,7 @@ target "jgit-4.18" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2020-12/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target index d30352c15e..752f644962 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.19-staging" sequenceNumber="1662389263"> +<target name="jgit-4.19-staging" sequenceNumber="1668442242"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.tpd index ec33a08738..9eaf1a1644 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.tpd @@ -1,7 +1,7 @@ target "jgit-4.19-staging" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2021-03/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target index e20ef5b590..10d49f82d4 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.20" sequenceNumber="1662389260"> +<target name="jgit-4.20" sequenceNumber="1668442242"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.tpd index ccca715b1a..ac083dfb24 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.tpd @@ -1,7 +1,7 @@ target "jgit-4.20" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2021-06/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target index b98b23b0bf..e4c2b69c17 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.21" sequenceNumber="1662389260"> +<target name="jgit-4.21" sequenceNumber="1668442241"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.tpd index 2652598dfd..0f1fb8dc4f 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.tpd @@ -1,7 +1,7 @@ target "jgit-4.21" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2021-09/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target index 718660985f..57bcd9a129 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.22" sequenceNumber="1662389260"> +<target name="jgit-4.22" sequenceNumber="1668442241"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.tpd index bc87048dae..4aae497db4 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.tpd @@ -1,7 +1,7 @@ target "jgit-4.22" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2021-12/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target index 670d61d5d1..2a8d7cd438 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.23" sequenceNumber="1662389260"> +<target name="jgit-4.23" sequenceNumber="1668442240"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.tpd index 2d15b9ff58..63f7212d84 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.tpd @@ -1,7 +1,7 @@ target "jgit-4.23" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2022-03/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target index 4d78a592ea..93687693cd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.24" sequenceNumber="1662389260"> +<target name="jgit-4.24" sequenceNumber="1668442240"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.tpd index 0b7176a301..c033d1fc3d 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.tpd @@ -1,7 +1,7 @@ target "jgit-4.24" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/releases/2022-06/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target index 568da28e5a..a3faa8f24e 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <?pde?> <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl --> -<target name="jgit-4.25" sequenceNumber="1662389260"> +<target name="jgit-4.25" sequenceNumber="1668442240"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="jakarta.servlet-api" version="4.0.0"/> @@ -23,16 +23,16 @@ <repository id="jetty-10.0.x" location="https://download.eclipse.org/eclipse/jetty/10.0.6/"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> - <unit id="com.google.gson" version="2.8.9.v20220111-1409"/> - <unit id="com.google.gson.source" version="2.8.9.v20220111-1409"/> + <unit id="com.google.gson" version="2.9.1.v20220915-1632"/> + <unit id="com.google.gson.source" version="2.9.1.v20220915-1632"/> <unit id="com.jcraft.jsch" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jsch.source" version="0.1.55.v20190404-1902"/> <unit id="com.jcraft.jzlib" version="1.1.3.v20220502-1820"/> <unit id="com.jcraft.jzlib.source" version="1.1.3.v20220502-1820"/> - <unit id="com.sun.jna" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.source" version="5.8.0.v20210503-0343"/> - <unit id="com.sun.jna.platform" version="5.8.0.v20210406-1004"/> - <unit id="com.sun.jna.platform.source" version="5.8.0.v20210406-1004"/> + <unit id="com.sun.jna" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.source" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform" version="5.12.1.v20221103-2317"/> + <unit id="com.sun.jna.platform.source" version="5.12.1.v20221103-2317"/> <unit id="javaewah" version="1.1.13.v20211029-0839"/> <unit id="javaewah.source" version="1.1.13.v20211029-0839"/> <unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/> @@ -59,14 +59,14 @@ <unit id="org.apache.sshd.sftp.source" version="2.8.0.v20211227-1750"/> <unit id="org.assertj" version="3.20.2.v20210706-1104"/> <unit id="org.assertj.source" version="3.20.2.v20210706-1104"/> - <unit id="org.bouncycastle.bcpg" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpg.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcpkix.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcprov.source" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil" version="1.71.0.v20220723-1943"/> - <unit id="org.bouncycastle.bcutil.source" version="1.71.0.v20220723-1943"/> + <unit id="org.bouncycastle.bcpg" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpg.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcpkix.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcprov.source" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil" version="1.72.0.v20221013-1810"/> + <unit id="org.bouncycastle.bcutil.source" version="1.72.0.v20221013-1810"/> <unit id="org.hamcrest" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.source" version="2.2.0.v20210711-0821"/> <unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/> @@ -77,17 +77,17 @@ <unit id="org.junit.source" version="4.13.2.v20211018-1956"/> <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/> <unit id="org.kohsuke.args4j.source" version="2.33.0.v20160323-2218"/> - <unit id="org.mockito" version="2.23.0.v20200310-1642"/> - <unit id="org.mockito.source" version="2.23.0.v20200310-1642"/> - <unit id="org.objenesis" version="2.6.0.v20180420-1519"/> - <unit id="org.objenesis.source" version="2.6.0.v20180420-1519"/> + <unit id="org.mockito.mockito-core" version="4.8.1.v20221103-2317"/> + <unit id="org.mockito.mockito-core.source" version="4.8.1.v20221103-2317"/> + <unit id="org.objenesis" version="3.3.0.v20221103-2317"/> + <unit id="org.objenesis.source" version="3.3.0.v20221103-2317"/> <unit id="org.slf4j.api" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.api.source" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple" version="1.7.30.v20200204-2150"/> <unit id="org.slf4j.binding.simple.source" version="1.7.30.v20200204-2150"/> <unit id="org.tukaani.xz" version="1.9.0.v20210624-1259"/> <unit id="org.tukaani.xz.source" version="1.9.0.v20210624-1259"/> - <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/R20220830213456/repository"/> + <repository location="https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository"/> </location> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="org.eclipse.osgi" version="0.0.0"/> diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.tpd index 0005893d63..e0fb34ea4b 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.tpd @@ -1,7 +1,7 @@ target "jgit-4.25" with source configurePhase include "projects/jetty-10.0.x.tpd" -include "orbit/R20220830213456-2022-09.tpd" +include "orbit/S20221109014815.tpd" location "https://download.eclipse.org/staging/2022-09/" { org.eclipse.osgi lazy diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20221109014815.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20221109014815.tpd new file mode 100644 index 0000000000..0c0520bc4f --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20221109014815.tpd @@ -0,0 +1,69 @@ +target "S20221109014815" with source configurePhase +// see https://download.eclipse.org/tools/orbit/downloads/ + +location "https://download.eclipse.org/tools/orbit/downloads/drops/S20221109014815/repository" { + com.google.gson [2.9.1.v20220915-1632,2.9.1.v20220915-1632] + com.google.gson.source [2.9.1.v20220915-1632,2.9.1.v20220915-1632] + com.jcraft.jsch [0.1.55.v20190404-1902,0.1.55.v20190404-1902] + com.jcraft.jsch.source [0.1.55.v20190404-1902,0.1.55.v20190404-1902] + com.jcraft.jzlib [1.1.3.v20220502-1820,1.1.3.v20220502-1820] + com.jcraft.jzlib.source [1.1.3.v20220502-1820,1.1.3.v20220502-1820] + com.sun.jna [5.12.1.v20221103-2317,5.12.1.v20221103-2317] + com.sun.jna.source [5.12.1.v20221103-2317,5.12.1.v20221103-2317] + com.sun.jna.platform [5.12.1.v20221103-2317,5.12.1.v20221103-2317] + com.sun.jna.platform.source [5.12.1.v20221103-2317,5.12.1.v20221103-2317] + javaewah [1.1.13.v20211029-0839,1.1.13.v20211029-0839] + javaewah.source [1.1.13.v20211029-0839,1.1.13.v20211029-0839] + net.bytebuddy.byte-buddy [1.9.0.v20181107-1410,1.9.0.v20181107-1410] + net.bytebuddy.byte-buddy-agent [1.9.0.v20181106-1534,1.9.0.v20181106-1534] + net.bytebuddy.byte-buddy-agent.source [1.9.0.v20181106-1534,1.9.0.v20181106-1534] + net.bytebuddy.byte-buddy.source [1.9.0.v20181107-1410,1.9.0.v20181107-1410] + net.i2p.crypto.eddsa [0.3.0.v20220506-1020,0.3.0.v20220506-1020] + net.i2p.crypto.eddsa.source [0.3.0.v20220506-1020,0.3.0.v20220506-1020] + org.apache.ant [1.10.12.v20211102-1452,1.10.12.v20211102-1452] + org.apache.ant.source [1.10.12.v20211102-1452,1.10.12.v20211102-1452] + org.apache.commons.codec [1.14.0.v20200818-1422,1.14.0.v20200818-1422] + org.apache.commons.codec.source [1.14.0.v20200818-1422,1.14.0.v20200818-1422] + org.apache.commons.compress [1.21.0.v20211103-2100,1.21.0.v20211103-2100] + org.apache.commons.compress.source [1.21.0.v20211103-2100,1.21.0.v20211103-2100] + org.apache.commons.logging [1.2.0.v20180409-1502,1.2.0.v20180409-1502] + org.apache.commons.logging.source [1.2.0.v20180409-1502,1.2.0.v20180409-1502] + org.apache.httpcomponents.httpclient [4.5.13.v20210128-2225,4.5.13.v20210128-2225] + org.apache.httpcomponents.httpclient.source [4.5.13.v20210128-2225,4.5.13.v20210128-2225] + org.apache.httpcomponents.httpcore [4.4.15.v20220209-2345,4.4.15.v20220209-2345] + org.apache.httpcomponents.httpcore.source [4.4.15.v20220209-2345,4.4.15.v20220209-2345] + org.apache.sshd.osgi [2.8.0.v20211227-1750,2.8.0.v20211227-1750] + org.apache.sshd.osgi.source [2.8.0.v20211227-1750,2.8.0.v20211227-1750] + org.apache.sshd.sftp [2.8.0.v20211227-1750,2.8.0.v20211227-1750] + org.apache.sshd.sftp.source [2.8.0.v20211227-1750,2.8.0.v20211227-1750] + org.assertj [3.20.2.v20210706-1104,3.20.2.v20210706-1104] + org.assertj.source [3.20.2.v20210706-1104,3.20.2.v20210706-1104] + org.bouncycastle.bcpg [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcpg.source [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcpkix [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcpkix.source [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcprov [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcprov.source [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcutil [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.bouncycastle.bcutil.source [1.72.0.v20221013-1810,1.72.0.v20221013-1810] + org.hamcrest [2.2.0.v20210711-0821,2.2.0.v20210711-0821] + org.hamcrest.source [2.2.0.v20210711-0821,2.2.0.v20210711-0821] + org.hamcrest.core [1.3.0.v20180420-1519,1.3.0.v20180420-1519] + org.hamcrest.core.source [1.3.0.v20180420-1519,1.3.0.v20180420-1519] + org.hamcrest.library [1.3.0.v20180524-2246,1.3.0.v20180524-2246] + org.hamcrest.library.source [1.3.0.v20180524-2246,1.3.0.v20180524-2246] + org.junit [4.13.2.v20211018-1956,4.13.2.v20211018-1956] + org.junit.source [4.13.2.v20211018-1956,4.13.2.v20211018-1956] + org.kohsuke.args4j [2.33.0.v20160323-2218,2.33.0.v20160323-2218] + org.kohsuke.args4j.source [2.33.0.v20160323-2218,2.33.0.v20160323-2218] + org.mockito.mockito-core [4.8.1.v20221103-2317,4.8.1.v20221103-2317] + org.mockito.mockito-core.source [4.8.1.v20221103-2317,4.8.1.v20221103-2317] + org.objenesis [3.3.0.v20221103-2317,3.3.0.v20221103-2317] + org.objenesis.source [3.3.0.v20221103-2317,3.3.0.v20221103-2317] + org.slf4j.api [1.7.30.v20200204-2150,1.7.30.v20200204-2150] + org.slf4j.api.source [1.7.30.v20200204-2150,1.7.30.v20200204-2150] + org.slf4j.binding.simple [1.7.30.v20200204-2150,1.7.30.v20200204-2150] + org.slf4j.binding.simple.source [1.7.30.v20200204-2150,1.7.30.v20200204-2150] + org.tukaani.xz [1.9.0.v20210624-1259,1.9.0.v20210624-1259] + org.tukaani.xz.source [1.9.0.v20210624-1259,1.9.0.v20210624-1259] +} 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 0baf5ac81c..7cbd87dcaa 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml @@ -16,7 +16,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 bebd2a4a82..c124432b4f 100644 --- a/org.eclipse.jgit.packaging/pom.xml +++ b/org.eclipse.jgit.packaging/pom.xml @@ -16,7 +16,7 @@ <groupId>org.eclipse.jgit</groupId> <artifactId>jgit.tycho.parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.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 cd947f00f6..d7a785c56a 100644 --- a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF @@ -3,30 +3,30 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm.test Bundle-SymbolicName: org.eclipse.jgit.pgm.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.diff;version="[6.3.1,6.4.0)", - org.eclipse.jgit.dircache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.diffmergetool;version="6.3.1", - org.eclipse.jgit.internal.storage.file;version="6.3.1", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.merge;version="[6.3.1,6.4.0)", - org.eclipse.jgit.pgm;version="[6.3.1,6.4.0)", - org.eclipse.jgit.pgm.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.pgm.opt;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)", +Import-Package: org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.diff;version="[6.4.0,6.5.0)", + org.eclipse.jgit.dircache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.diffmergetool;version="6.4.0", + org.eclipse.jgit.internal.storage.file;version="6.4.0", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.merge;version="[6.4.0,6.5.0)", + org.eclipse.jgit.pgm;version="[6.4.0,6.5.0)", + org.eclipse.jgit.pgm.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.pgm.opt;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)", org.hamcrest.core;bundle-version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.rules;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.pgm.test/pom.xml b/org.eclipse.jgit.pgm.test/pom.xml index fd87d922e7..058340d135 100644 --- a/org.eclipse.jgit.pgm.test/pom.xml +++ b/org.eclipse.jgit.pgm.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm.test</artifactId> diff --git a/org.eclipse.jgit.pgm/BUILD b/org.eclipse.jgit.pgm/BUILD index 2593122f40..a267b155ac 100644 --- a/org.eclipse.jgit.pgm/BUILD +++ b/org.eclipse.jgit.pgm/BUILD @@ -8,6 +8,7 @@ java_library( visibility = ["//visibility:public"], runtime_deps = [ ":services", + "//lib:javaewah", "//org.eclipse.jgit.gpg.bc:gpg-bc", ], deps = [ diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF index 39ea131291..6d05d5f7ca 100644 --- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm Bundle-SymbolicName: org.eclipse.jgit.pgm -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -14,49 +14,49 @@ Import-Package: javax.servlet;version="[3.1.0,5.0.0)", org.eclipse.jetty.servlet;version="[10.0.0,11.0.0)", org.eclipse.jetty.util;version="[10.0.0,11.0.0)", org.eclipse.jetty.util.component;version="[10.0.0,11.0.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.archive;version="[6.3.1,6.4.0)", - org.eclipse.jgit.awtui;version="[6.3.1,6.4.0)", - org.eclipse.jgit.blame;version="[6.3.1,6.4.0)", - org.eclipse.jgit.diff;version="[6.3.1,6.4.0)", - org.eclipse.jgit.dircache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.gitrepo;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.diffmergetool;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.io;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.server;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.server.fs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs.server.s3;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.merge;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.notes;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revplot;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http.apache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.resolver;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.sshd;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.archive;version="[6.4.0,6.5.0)", + org.eclipse.jgit.awtui;version="[6.4.0,6.5.0)", + org.eclipse.jgit.blame;version="[6.4.0,6.5.0)", + org.eclipse.jgit.diff;version="[6.4.0,6.5.0)", + org.eclipse.jgit.dircache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.gitrepo;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.diffmergetool;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.io;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.server;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.server.fs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs.server.s3;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.merge;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.notes;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revplot;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http.apache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.resolver;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.sshd;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)", org.kohsuke.args4j;version="[2.33.0,3.0.0)", org.kohsuke.args4j.spi;version="[2.33.0,3.0.0)" -Export-Package: org.eclipse.jgit.console;version="6.3.1"; +Export-Package: org.eclipse.jgit.console;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util", - org.eclipse.jgit.pgm;version="6.3.1"; + org.eclipse.jgit.pgm;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.io, org.eclipse.jgit.awtui, @@ -68,14 +68,14 @@ Export-Package: org.eclipse.jgit.console;version="6.3.1"; org.eclipse.jgit.treewalk, org.eclipse.jgit.api, javax.swing", - org.eclipse.jgit.pgm.debug;version="6.3.1"; + org.eclipse.jgit.pgm.debug;version="6.4.0"; uses:="org.eclipse.jgit.util.io, org.eclipse.jgit.pgm, org.eclipse.jetty.servlet", - org.eclipse.jgit.pgm.internal;version="6.3.1"; + org.eclipse.jgit.pgm.internal;version="6.4.0"; x-friends:="org.eclipse.jgit.pgm.test, org.eclipse.jgit.test", - org.eclipse.jgit.pgm.opt;version="6.3.1"; + org.eclipse.jgit.pgm.opt;version="6.4.0"; uses:="org.kohsuke.args4j, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, diff --git a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF index 4850be9008..47121cb03b 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-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.pgm - Sources Bundle-SymbolicName: org.eclipse.jgit.pgm.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.pgm/pom.xml b/org.eclipse.jgit.pgm/pom.xml index 2a9f5d70f1..63d60f4f5b 100644 --- a/org.eclipse.jgit.pgm/pom.xml +++ b/org.eclipse.jgit.pgm/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm</artifactId> diff --git a/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF index ac14d95561..ab52c8d425 100644 --- a/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF @@ -2,16 +2,16 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent;singleton:=true -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor -Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[6.3.1,6.4.0)" +Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[6.4.0,6.5.0)" Bundle-ActivationPolicy: lazy Automatic-Module-Name: org.eclipse.jgit.ssh.apache.agent Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.eclipse.jgit.transport.sshd;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)" +Import-Package: org.eclipse.jgit.transport.sshd;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)" Require-Bundle: com.sun.jna;bundle-version="[5.8.0,6.0.0)", com.sun.jna.platform;bundle-version="[5.8.0,6.0.0)" -Export-Package: org.eclipse.jgit.internal.transport.sshd.agent.connector;version="6.3.1";x-internal:=true +Export-Package: org.eclipse.jgit.internal.transport.sshd.agent.connector;version="6.4.0";x-internal:=true diff --git a/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF index 89a56b741d..701fce746f 100644 --- a/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.apache.agent - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.apache.agent/pom.xml b/org.eclipse.jgit.ssh.apache.agent/pom.xml index e43e3fcc52..c2feab1ce9 100644 --- a/org.eclipse.jgit.ssh.apache.agent/pom.xml +++ b/org.eclipse.jgit.ssh.apache.agent/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache.agent</artifactId> diff --git a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF index 68b9ea03a0..913a262915 100644 --- a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.apache.test Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -21,16 +21,16 @@ Import-Package: org.apache.sshd.client.config.hosts;version="[2.8.0,2.9.0)", org.apache.sshd.core;version="[2.8.0,2.9.0)", org.apache.sshd.server;version="[2.8.0,2.9.0)", org.apache.sshd.server.forward;version="[2.8.0,2.9.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit.ssh;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.sshd;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.sshd.agent;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit.ssh;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.sshd;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.sshd.agent;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.ssh.apache.test/pom.xml b/org.eclipse.jgit.ssh.apache.test/pom.xml index fd882bd52f..aa9e55a5fe 100644 --- a/org.eclipse.jgit.ssh.apache.test/pom.xml +++ b/org.eclipse.jgit.ssh.apache.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache.test</artifactId> diff --git a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF index 0ff3c8d66d..1edde8adaf 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF @@ -6,9 +6,9 @@ Bundle-SymbolicName: org.eclipse.jgit.ssh.apache Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-ActivationPolicy: lazy -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.3.1";x-internal:=true; +Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.4.0";x-internal:=true; uses:="org.apache.sshd.client, org.apache.sshd.client.auth, org.apache.sshd.client.auth.keyboard, @@ -23,17 +23,17 @@ Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.3.1";x-inter org.apache.sshd.common.signature, org.apache.sshd.common.util.buffer, org.eclipse.jgit.transport", - org.eclipse.jgit.internal.transport.sshd.agent;version="6.3.1";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.auth;version="6.3.1";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.proxy;version="6.3.1";x-friends:="org.eclipse.jgit.ssh.apache.test", - org.eclipse.jgit.transport.sshd;version="6.3.1"; + org.eclipse.jgit.internal.transport.sshd.agent;version="6.4.0";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.auth;version="6.4.0";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.proxy;version="6.4.0";x-friends:="org.eclipse.jgit.ssh.apache.test", + org.eclipse.jgit.transport.sshd;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.apache.sshd.client.config.hosts, org.apache.sshd.common.keyprovider, org.eclipse.jgit.util, org.apache.sshd.client.session, org.apache.sshd.client.keyverifier", - org.eclipse.jgit.transport.sshd.agent;version="6.3.1" + org.eclipse.jgit.transport.sshd.agent;version="6.4.0" Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)", org.apache.sshd.agent;version="[2.8.0,2.9.0)", org.apache.sshd.client;version="[2.8.0,2.9.0)", @@ -86,12 +86,12 @@ Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)", org.apache.sshd.sftp;version="[2.8.0,2.9.0)", org.apache.sshd.sftp.client;version="[2.8.0,2.9.0)", org.apache.sshd.sftp.common;version="[2.8.0,2.9.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.fnmatch;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.fnmatch;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.slf4j;version="[1.7.0,2.0.0)" diff --git a/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF index 406a56db23..5e9ace09a2 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.apache/pom.xml b/org.eclipse.jgit.ssh.apache/pom.xml index 3a97b3a57f..0c25364e70 100644 --- a/org.eclipse.jgit.ssh.apache/pom.xml +++ b/org.eclipse.jgit.ssh.apache/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache</artifactId> diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/agent/SshAgentClient.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/agent/SshAgentClient.java index cbcb4d240e..4969414c59 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/agent/SshAgentClient.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/agent/SshAgentClient.java @@ -427,14 +427,14 @@ public class SshAgentClient implements SshAgent { private static PublicKey readKey(Buffer buffer) throws BufferException { int endOfBuffer = buffer.wpos(); int keyLength = buffer.getInt(); - int afterKey = buffer.rpos() + keyLength; - if (keyLength <= 0 || afterKey > endOfBuffer) { + if (keyLength <= 0 || keyLength > buffer.available()) { throw new BufferException( MessageFormat.format(SshdText.get().sshAgentWrongKeyLength, Integer.toString(keyLength), Integer.toString(buffer.rpos()), Integer.toString(endOfBuffer))); } + int afterKey = buffer.rpos() + keyLength; // Limit subsequent reads to the public key blob buffer.wpos(afterKey); try { diff --git a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF index 5a47db3036..cdc9a75301 100644 --- a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF @@ -3,18 +3,18 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.jsch.test Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: com.jcraft.jsch;version="[0.1.54,0.2.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit.ssh;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit.ssh;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", org.junit.experimental.theories;version="[4.13,5.0.0)", diff --git a/org.eclipse.jgit.ssh.jsch.test/pom.xml b/org.eclipse.jgit.ssh.jsch.test/pom.xml index 2d5b023ce9..6cc3a648a8 100644 --- a/org.eclipse.jgit.ssh.jsch.test/pom.xml +++ b/org.eclipse.jgit.ssh.jsch.test/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.jsch.test</artifactId> diff --git a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF index 18cb794cfc..e6751720d8 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF @@ -3,19 +3,19 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.jsch Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch;singleton:=true -Fragment-Host: org.eclipse.jgit;bundle-version="[6.3.1,6.4.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[6.4.0,6.5.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-ActivationPolicy: lazy -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.3.1" +Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.4.0" Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)", org.slf4j;version="[1.7.0,2.0.0)" diff --git a/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF index 4ecfbe7505..3e7fb64c81 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ssh.jsch - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.ssh.jsch/pom.xml b/org.eclipse.jgit.ssh.jsch/pom.xml index d1d23917a8..89f1325979 100644 --- a/org.eclipse.jgit.ssh.jsch/pom.xml +++ b/org.eclipse.jgit.ssh.jsch/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.jsch</artifactId> diff --git a/org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/jsch/JSchText.properties b/org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.properties index 529e9f488c..529e9f488c 100644 --- a/org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/jsch/JSchText.properties +++ b/org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.properties diff --git a/org.eclipse.jgit.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.test/META-INF/MANIFEST.MF index 97fe1be744..c7f62a31b7 100644 --- a/org.eclipse.jgit.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.test/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.test Bundle-SymbolicName: org.eclipse.jgit.test -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-11 @@ -16,62 +16,62 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", org.apache.commons.compress.compressors.gzip;version="[1.15.0,2.0)", org.apache.commons.compress.compressors.xz;version="[1.15.0,2.0)", org.assertj.core.api;version="[3.14.0,4.0.0)", - org.eclipse.jgit.annotations;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api;version="[6.3.1,6.4.0)", - org.eclipse.jgit.api.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.archive;version="[6.3.1,6.4.0)", - org.eclipse.jgit.attributes;version="[6.3.1,6.4.0)", - org.eclipse.jgit.awtui;version="[6.3.1,6.4.0)", - org.eclipse.jgit.blame;version="[6.3.1,6.4.0)", - org.eclipse.jgit.diff;version="[6.3.1,6.4.0)", - org.eclipse.jgit.dircache;version="[6.3.1,6.4.0)", - org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.events;version="[6.3.1,6.4.0)", - org.eclipse.jgit.fnmatch;version="[6.3.1,6.4.0)", - org.eclipse.jgit.gitrepo;version="[6.3.1,6.4.0)", - org.eclipse.jgit.hooks;version="[6.3.1,6.4.0)", - org.eclipse.jgit.ignore;version="[6.3.1,6.4.0)", - org.eclipse.jgit.ignore.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.diff;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.diffmergetool;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.fsck;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.dfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.io;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.storage.reftable;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.connectivity;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.parser;version="[6.3.1,6.4.0)", - org.eclipse.jgit.internal.transport.ssh;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit;version="[6.3.1,6.4.0)", - org.eclipse.jgit.junit.time;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lfs;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.logging;version="[6.3.1,6.4.0)", - org.eclipse.jgit.merge;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.notes;version="[6.3.1,6.4.0)", - org.eclipse.jgit.patch;version="[6.3.1,6.4.0)", - org.eclipse.jgit.pgm;version="[6.3.1,6.4.0)", - org.eclipse.jgit.pgm.internal;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revplot;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.file;version="[6.3.1,6.4.0)", - org.eclipse.jgit.storage.pack;version="[6.3.1,6.4.0)", - org.eclipse.jgit.submodule;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.http;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport.resolver;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.treewalk.filter;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.io;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util.sha1;version="[6.3.1,6.4.0)", + org.eclipse.jgit.annotations;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api;version="[6.4.0,6.5.0)", + org.eclipse.jgit.api.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.archive;version="[6.4.0,6.5.0)", + org.eclipse.jgit.attributes;version="[6.4.0,6.5.0)", + org.eclipse.jgit.awtui;version="[6.4.0,6.5.0)", + org.eclipse.jgit.blame;version="[6.4.0,6.5.0)", + org.eclipse.jgit.diff;version="[6.4.0,6.5.0)", + org.eclipse.jgit.dircache;version="[6.4.0,6.5.0)", + org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.events;version="[6.4.0,6.5.0)", + org.eclipse.jgit.fnmatch;version="[6.4.0,6.5.0)", + org.eclipse.jgit.gitrepo;version="[6.4.0,6.5.0)", + org.eclipse.jgit.hooks;version="[6.4.0,6.5.0)", + org.eclipse.jgit.ignore;version="[6.4.0,6.5.0)", + org.eclipse.jgit.ignore.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.diff;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.diffmergetool;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.fsck;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.dfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.io;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.storage.reftable;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.connectivity;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.parser;version="[6.4.0,6.5.0)", + org.eclipse.jgit.internal.transport.ssh;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit;version="[6.4.0,6.5.0)", + org.eclipse.jgit.junit.time;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lfs;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.logging;version="[6.4.0,6.5.0)", + org.eclipse.jgit.merge;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.notes;version="[6.4.0,6.5.0)", + org.eclipse.jgit.patch;version="[6.4.0,6.5.0)", + org.eclipse.jgit.pgm;version="[6.4.0,6.5.0)", + org.eclipse.jgit.pgm.internal;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revplot;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.file;version="[6.4.0,6.5.0)", + org.eclipse.jgit.storage.pack;version="[6.4.0,6.5.0)", + org.eclipse.jgit.submodule;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.http;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport.resolver;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.treewalk.filter;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.io;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util.sha1;version="[6.4.0,6.5.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.hamcrest.collection;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)", @@ -80,10 +80,10 @@ Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", org.junit.rules;version="[4.13,5.0.0)", org.junit.runner;version="[4.13,5.0.0)", org.junit.runners;version="[4.13,5.0.0)", - org.mockito;version="[2.23.0,3.0.0)", - org.mockito.invocation;version="[2.23.0,3.0.0)", - org.mockito.junit;version="[2.23.0,3.0.0)", - org.mockito.stubbing;version="[2.23.0,3.0.0)", - org.objenesis;version="[2.6.0,3.0.0)", + org.mockito;version="[4.8.0,5.0.0)", + org.mockito.invocation;version="[4.8.0,5.0.0)", + org.mockito.junit;version="[4.8.0,5.0.0)", + org.mockito.stubbing;version="[4.8.0,5.0.0)", + org.objenesis;version="[3.3.0,4.0.0)", org.slf4j;version="[1.7.0,2.0.0)", org.tukaani.xz diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml index 3eb762f0c2..6051edc488 100644 --- a/org.eclipse.jgit.test/pom.xml +++ b/org.eclipse.jgit.test/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.test</artifactId> @@ -73,7 +73,7 @@ <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>2.23.0</version> + <version>4.8.1</version> </dependency> <dependency> diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java index 40764b739b..a746823525 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java @@ -19,19 +19,13 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import org.eclipse.jgit.api.errors.PatchApplyException; import org.eclipse.jgit.api.errors.PatchFormatException; -import org.eclipse.jgit.attributes.FilterCommand; -import org.eclipse.jgit.attributes.FilterCommandFactory; -import org.eclipse.jgit.attributes.FilterCommandRegistry; import org.eclipse.jgit.diff.RawText; import org.eclipse.jgit.junit.RepositoryTestCase; -import org.eclipse.jgit.lib.Config; -import org.eclipse.jgit.lib.ConfigConstants; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.IO; import org.junit.Test; @@ -68,189 +62,6 @@ public class ApplyCommandTest extends RepositoryTestCase { } } - @Test - public void testCrLf() throws Exception { - try { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, true); - ApplyResult result = init("crlf", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "crlf"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "crlf"), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - @Test - public void testCrLfOff() throws Exception { - try { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, false); - ApplyResult result = init("crlf", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "crlf"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "crlf"), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - @Test - public void testCrLfEmptyCommitted() throws Exception { - try { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, true); - ApplyResult result = init("crlf3", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "crlf3"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "crlf3"), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - @Test - public void testCrLfNewFile() throws Exception { - try { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, true); - ApplyResult result = init("crlf4", false, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "crlf4"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "crlf4"), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - @Test - public void testPatchWithCrLf() throws Exception { - try { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, false); - ApplyResult result = init("crlf2", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "crlf2"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "crlf2"), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - @Test - public void testPatchWithCrLf2() throws Exception { - String name = "crlf2"; - try (Git git = new Git(db)) { - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, false); - a = new RawText(readFile(name + "_PreImage")); - write(new File(db.getWorkTree(), name), - a.getString(0, a.size(), false)); - - git.add().addFilepattern(name).call(); - git.commit().setMessage("PreImage").call(); - - b = new RawText(readFile(name + "_PostImage")); - - db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF, true); - ApplyResult result = git.apply() - .setPatch(getTestResource(name + ".patch")).call(); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), name), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), name), - b.getString(0, b.size(), false)); - } finally { - db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, - ConfigConstants.CONFIG_KEY_AUTOCRLF); - } - } - - // Clean/smudge filter for testFiltering. The smudgetest test resources were - // created with C git using a clean filter sed -e "s/A/E/g" and the smudge - // filter sed -e "s/E/A/g". To keep the test independent of the presence of - // sed, implement this with a built-in filter. - private static class ReplaceFilter extends FilterCommand { - - private final char toReplace; - - private final char replacement; - - ReplaceFilter(InputStream in, OutputStream out, char toReplace, - char replacement) { - super(in, out); - this.toReplace = toReplace; - this.replacement = replacement; - } - - @Override - public int run() throws IOException { - int b = in.read(); - if (b < 0) { - in.close(); - out.close(); - return -1; - } - if ((b & 0xFF) == toReplace) { - b = replacement; - } - out.write(b); - return 1; - } - } - - @Test - public void testFiltering() throws Exception { - // Set up filter - FilterCommandFactory clean = (repo, in, out) -> { - return new ReplaceFilter(in, out, 'A', 'E'); - }; - FilterCommandFactory smudge = (repo, in, out) -> { - return new ReplaceFilter(in, out, 'E', 'A'); - }; - FilterCommandRegistry.register("jgit://builtin/a2e/clean", clean); - FilterCommandRegistry.register("jgit://builtin/a2e/smudge", smudge); - try (Git git = new Git(db)) { - Config config = db.getConfig(); - config.setString(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", - "clean", "jgit://builtin/a2e/clean"); - config.setString(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", - "smudge", "jgit://builtin/a2e/smudge"); - write(new File(db.getWorkTree(), ".gitattributes"), - "smudgetest filter=a2e"); - git.add().addFilepattern(".gitattributes").call(); - git.commit().setMessage("Attributes").call(); - ApplyResult result = init("smudgetest", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "smudgetest"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "smudgetest"), - b.getString(0, b.size(), false)); - - } finally { - // Tear down filter - FilterCommandRegistry.unregister("jgit://builtin/a2e/clean"); - FilterCommandRegistry.unregister("jgit://builtin/a2e/smudge"); - } - } - private void checkBinary(String name, boolean hasPreImage) throws Exception { checkBinary(name, hasPreImage, 1); @@ -280,21 +91,6 @@ public class ApplyCommandTest extends RepositoryTestCase { } @Test - public void testBinaryDelta() throws Exception { - checkBinary("delta", true); - } - - @Test - public void testBinaryLiteral() throws Exception { - checkBinary("literal", true); - } - - @Test - public void testBinaryLiteralAdd() throws Exception { - checkBinary("literal_add", false); - } - - @Test public void testEncodingChange() throws Exception { // This is a text patch that changes a file containing ÄÖÜ in UTF-8 to // the same characters in ISO-8859-1. The patch file itself uses mixed @@ -410,188 +206,6 @@ public class ApplyCommandTest extends RepositoryTestCase { b.getString(0, b.size(), false)); } - @Test - public void testModifyM2() throws Exception { - ApplyResult result = init("M2", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - if (FS.DETECTED.supportsExecute()) { - assertTrue(FS.DETECTED.canExecute(result.getUpdatedFiles().get(0))); - } - checkFile(new File(db.getWorkTree(), "M2"), - b.getString(0, b.size(), false)); - } - - @Test - public void testModifyM3() throws Exception { - ApplyResult result = init("M3", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - if (FS.DETECTED.supportsExecute()) { - assertFalse( - FS.DETECTED.canExecute(result.getUpdatedFiles().get(0))); - } - checkFile(new File(db.getWorkTree(), "M3"), - b.getString(0, b.size(), false)); - } - - @Test - public void testModifyX() throws Exception { - ApplyResult result = init("X"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "X"), result.getUpdatedFiles() - .get(0)); - checkFile(new File(db.getWorkTree(), "X"), - b.getString(0, b.size(), false)); - } - - @Test - public void testModifyY() throws Exception { - ApplyResult result = init("Y"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "Y"), result.getUpdatedFiles() - .get(0)); - checkFile(new File(db.getWorkTree(), "Y"), - b.getString(0, b.size(), false)); - } - - @Test - public void testModifyZ() throws Exception { - ApplyResult result = init("Z"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "Z"), result.getUpdatedFiles() - .get(0)); - checkFile(new File(db.getWorkTree(), "Z"), - b.getString(0, b.size(), false)); - } - - @Test - public void testModifyNL1() throws Exception { - ApplyResult result = init("NL1"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NL1"), result - .getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "NL1"), - b.getString(0, b.size(), false)); - } - - @Test - public void testNonASCII() throws Exception { - ApplyResult result = init("NonASCII"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NonASCII"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "NonASCII"), - b.getString(0, b.size(), false)); - } - - @Test - public void testNonASCII2() throws Exception { - ApplyResult result = init("NonASCII2"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NonASCII2"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "NonASCII2"), - b.getString(0, b.size(), false)); - } - - @Test - public void testNonASCIIAdd() throws Exception { - ApplyResult result = init("NonASCIIAdd"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NonASCIIAdd"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "NonASCIIAdd"), - b.getString(0, b.size(), false)); - } - - @Test - public void testNonASCIIAdd2() throws Exception { - ApplyResult result = init("NonASCIIAdd2", false, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NonASCIIAdd2"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "NonASCIIAdd2"), - b.getString(0, b.size(), false)); - } - - @Test - public void testNonASCIIDel() throws Exception { - ApplyResult result = init("NonASCIIDel", true, false); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "NonASCIIDel"), - result.getUpdatedFiles().get(0)); - assertFalse(new File(db.getWorkTree(), "NonASCIIDel").exists()); - } - - @Test - public void testRenameNoHunks() throws Exception { - ApplyResult result = init("RenameNoHunks", true, true); - assertEquals(2, result.getUpdatedFiles().size()); - assertTrue(result.getUpdatedFiles().contains(new File(db.getWorkTree(), "RenameNoHunks"))); - assertTrue(result.getUpdatedFiles().contains(new File(db.getWorkTree(), "nested/subdir/Renamed"))); - checkFile(new File(db.getWorkTree(), "nested/subdir/Renamed"), - b.getString(0, b.size(), false)); - } - - @Test - public void testRenameWithHunks() throws Exception { - ApplyResult result = init("RenameWithHunks", true, true); - assertEquals(2, result.getUpdatedFiles().size()); - assertTrue(result.getUpdatedFiles().contains(new File(db.getWorkTree(), "RenameWithHunks"))); - assertTrue(result.getUpdatedFiles().contains(new File(db.getWorkTree(), "nested/subdir/Renamed"))); - checkFile(new File(db.getWorkTree(), "nested/subdir/Renamed"), - b.getString(0, b.size(), false)); - } - - @Test - public void testCopyWithHunks() throws Exception { - ApplyResult result = init("CopyWithHunks", true, true); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "CopyResult"), result.getUpdatedFiles() - .get(0)); - checkFile(new File(db.getWorkTree(), "CopyResult"), - b.getString(0, b.size(), false)); - } - - @Test - public void testShiftUp() throws Exception { - ApplyResult result = init("ShiftUp"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "ShiftUp"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "ShiftUp"), - b.getString(0, b.size(), false)); - } - - @Test - public void testShiftUp2() throws Exception { - ApplyResult result = init("ShiftUp2"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "ShiftUp2"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "ShiftUp2"), - b.getString(0, b.size(), false)); - } - - @Test - public void testShiftDown() throws Exception { - ApplyResult result = init("ShiftDown"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "ShiftDown"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "ShiftDown"), - b.getString(0, b.size(), false)); - } - - @Test - public void testShiftDown2() throws Exception { - ApplyResult result = init("ShiftDown2"); - assertEquals(1, result.getUpdatedFiles().size()); - assertEquals(new File(db.getWorkTree(), "ShiftDown2"), - result.getUpdatedFiles().get(0)); - checkFile(new File(db.getWorkTree(), "ShiftDown2"), - b.getString(0, b.size(), false)); - } - private static byte[] readFile(String patchFile) throws IOException { final InputStream in = getTestResource(patchFile); if (in == null) { diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java index 6053c8c568..63ab8094ae 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java @@ -9,8 +9,10 @@ */ package org.eclipse.jgit.api; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -121,9 +123,32 @@ public class CloneCommandTest extends RepositoryTestCase { } @Test - public void testCloneRepository_refLogForLocalRefs() + public void testCloneRepositoryNoCheckout() throws IOException, JGitInternalException, GitAPIException { - File directory = createTempDirectory("testCloneRepository"); + File directory = createTempDirectory("testCloneRepositoryNoCheckout"); + CloneCommand command = Git.cloneRepository(); + command.setDirectory(directory); + command.setURI(fileUri()); + command.setNoCheckout(true); + try (Git git2 = command.call()) { + Repository clonedRepo = git2.getRepository(); + Ref main = clonedRepo.exactRef(Constants.R_HEADS + "test"); + assertNotNull(main); + ObjectId id = main.getObjectId(); + assertNotNull(id); + assertNotEquals(id, ObjectId.zeroId()); + ObjectId headId = clonedRepo.resolve(Constants.HEAD); + assertEquals(id, headId); + assertArrayEquals(new String[] { Constants.DOT_GIT }, + directory.list()); + } + } + + @Test + public void testCloneRepositoryRefLogForLocalRefs() + throws IOException, JGitInternalException, GitAPIException { + File directory = createTempDirectory( + "testCloneRepositoryRefLogForLocalRefs"); CloneCommand command = Git.cloneRepository(); command.setDirectory(directory); command.setURI(fileUri()); @@ -331,7 +356,8 @@ public class CloneCommandTest extends RepositoryTestCase { allRefNames(git2.branchList().setListMode(ListMode.ALL).call())); // Same thing, but now without checkout - directory = createTempDirectory("testCloneRepositoryWithBranch_bare"); + directory = createTempDirectory( + "testCloneRepositoryWithBranch_noCheckout"); command = Git.cloneRepository(); command.setBranch("refs/heads/master"); command.setDirectory(directory); @@ -341,7 +367,8 @@ public class CloneCommandTest extends RepositoryTestCase { addRepoToClose(git2.getRepository()); assertEquals(git2.getRepository().getFullBranch(), "refs/heads/master"); - assertEquals("refs/remotes/origin/master, refs/remotes/origin/test", + assertEquals( + "refs/heads/master, refs/remotes/origin/master, refs/remotes/origin/test", allRefNames(git2.branchList().setListMode(ListMode.ALL).call())); // Same thing, but now test with bare repo diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java index 6f7aa63edc..ff5f8b76cc 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java @@ -16,9 +16,12 @@ import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; +import java.io.PrintStream; import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; import java.util.Properties; import org.eclipse.jgit.api.errors.DetachedHeadException; @@ -115,7 +118,7 @@ public class PushCommandTest extends RepositoryTestCase { + "\"\nexit 0"); try (Git git1 = new Git(db)) { - // create some refs via commits and tag + // create a commit RevCommit commit = git1.commit().setMessage("initial commit").call(); RefSpec spec = new RefSpec("refs/heads/master:refs/heads/x"); @@ -126,6 +129,54 @@ public class PushCommandTest extends RepositoryTestCase { } } + @Test + public void testPrePushHookRedirects() throws JGitInternalException, + IOException, GitAPIException, URISyntaxException { + + // create other repository + Repository db2 = createWorkRepository(); + + // setup the first repository + final StoredConfig config = db.getConfig(); + RemoteConfig remoteConfig = new RemoteConfig(config, "test"); + URIish uri = new URIish(db2.getDirectory().toURI().toURL()); + remoteConfig.addURI(uri); + remoteConfig.update(config); + config.save(); + + writeHookFile(PrePushHook.NAME, "#!/bin/sh\n" + + "echo \"1:$1, 2:$2, 3:$3\"\n" // to stdout + + "cat - 1>&2\n" // to stderr + + "exit 0\n"); + + try (Git git1 = new Git(db)) { + // create a commit + RevCommit commit = git1.commit().setMessage("initial commit") + .call(); + + RefSpec spec = new RefSpec("refs/heads/master:refs/heads/x"); + try (ByteArrayOutputStream outBytes = new ByteArrayOutputStream(); + ByteArrayOutputStream errBytes = new ByteArrayOutputStream(); + PrintStream stdout = new PrintStream(outBytes, true, + StandardCharsets.UTF_8); + PrintStream stderr = new PrintStream(errBytes, true, + StandardCharsets.UTF_8)) { + git1.push() + .setRemote("test") + .setRefSpecs(spec) + .setHookOutputStream(stdout) + .setHookErrorStream(stderr) + .call(); + String out = outBytes.toString(StandardCharsets.UTF_8); + String err = errBytes.toString(StandardCharsets.UTF_8); + assertEquals("1:test, 2:" + uri + ", 3:\n", out); + assertEquals("refs/heads/master " + commit.getName() + + " refs/heads/x " + ObjectId.zeroId().name() + '\n', + err); + } + } + } + private File writeHookFile(String name, String data) throws IOException { File path = new File(db.getWorkTree() + "/.git/hooks/", name); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBundleWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBundleWriterTest.java index 4238ee6bf0..bce62b9371 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBundleWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBundleWriterTest.java @@ -19,6 +19,8 @@ import java.io.IOException; import java.util.Collections; import java.util.Set; +import org.eclipse.jgit.api.GarbageCollectCommand; +import org.eclipse.jgit.api.Git; import org.eclipse.jgit.junit.TestRepository; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.Ref; @@ -44,7 +46,7 @@ public class DfsBundleWriterTest { } @Test - public void testRepo() throws Exception { + public void makeBundle_containsUnreferencedObject() throws Exception { RevCommit commit0 = git.commit().message("0").create(); RevCommit commit1 = git.commit().message("1").parent(commit0).create(); git.update("master", commit1); @@ -64,6 +66,31 @@ public class DfsBundleWriterTest { } } + @Test + public void makeBundle_containsObjectInGcRestPack() throws Exception { + RevCommit commit0 = git.commit().message("0").create(); + RevCommit commit1 = git.commit().message("1").parent(commit0).create(); + git.update("master", commit1); + + RevCommit commit2 = git.commit().message("0").create(); + + // This moves unreachable commit2 to GC_REST pack. + GarbageCollectCommand gc = Git.wrap(repo).gc(); + gc.call(); + + byte[] bundle = makeBundle(); + try (Repository newRepo = new InMemoryRepository( + new DfsRepositoryDescription("copy"))) { + fetchFromBundle(newRepo, bundle); + Ref ref = newRepo.exactRef("refs/heads/master"); + assertNotNull(ref); + assertEquals(commit1.toObjectId(), ref.getObjectId()); + + // Unreferenced objects in GC_REST pack are included as well. + assertTrue(newRepo.getObjectDatabase().has(commit2)); + } + } + private byte[] makeBundle() throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); DfsBundleWriter.writeEntireRepositoryAsBundle( diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstCommandTest.java new file mode 100644 index 0000000000..29819a4c3b --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstCommandTest.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2022, Google LLC. and others + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +package org.eclipse.jgit.internal.transport.parser; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.Map; + +import org.junit.Test; + +public class FirstCommandTest { + @Test + public void testClientSID() { + String oldStr = "0000000000000000000000000000000000000000"; + String newStr = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef"; + String refName = "refs/heads/master"; + String command = oldStr + " " + newStr + " " + refName; + String fl = command + "\0" + + "some capabilities session-id=the-clients-SID and more unknownCap=some-value"; + FirstCommand fc = FirstCommand.fromLine(fl); + + Map<String, String> options = fc.getCapabilities(); + + assertEquals("the-clients-SID", options.get("session-id")); + assertEquals(command, fc.getLine()); + assertTrue(options.containsKey("unknownCap")); + assertEquals(6, options.size()); + } +} diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstWantTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstWantTest.java index 1e8ce8ef11..230f6a4081 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstWantTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstWantTest.java @@ -27,7 +27,8 @@ public class FirstWantTest { @Test public void testFirstWantWithOptions() throws PackProtocolException { String line = "want b9d4d1eb2f93058814480eae9e1b67550f46ee38 " - + "no-progress include-tag ofs-delta agent=JGit/unknown"; + + "no-progress include-tag ofs-delta agent=JGit/unknown " + + "session-id=the.client.sid"; FirstWant r = FirstWant.fromLine(line); assertEquals("want b9d4d1eb2f93058814480eae9e1b67550f46ee38", @@ -37,6 +38,7 @@ public class FirstWantTest { Arrays.asList("no-progress", "include-tag", "ofs-delta")); assertEquals(expectedCapabilities, capabilities); assertEquals("JGit/unknown", r.getAgent()); + assertEquals("the.client.sid", r.getClientSID()); } @Test @@ -94,4 +96,12 @@ public class FirstWantTest { assertEquals(r.getCapabilities().size(), 0); assertEquals("pack.age/Version", r.getAgent()); } + + @Test + public void testFirstWantValidSessionID() throws PackProtocolException { + FirstWant r = FirstWant + .fromLine(makeFirstWantLine("session-id=client.session.id")); + assertEquals(r.getCapabilities().size(), 0); + assertEquals("client.session.id", r.getClientSID()); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchApplierTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchApplierTest.java new file mode 100644 index 0000000000..c77a19f1b4 --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchApplierTest.java @@ -0,0 +1,534 @@ +/* + * Copyright (C) 2022, Google Inc. and others + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +package org.eclipse.jgit.patch; + +import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; +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.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.errors.PatchApplyException; +import org.eclipse.jgit.api.errors.PatchFormatException; +import org.eclipse.jgit.attributes.FilterCommand; +import org.eclipse.jgit.attributes.FilterCommandFactory; +import org.eclipse.jgit.attributes.FilterCommandRegistry; +import org.eclipse.jgit.junit.RepositoryTestCase; +import org.eclipse.jgit.junit.TestRepository; +import org.eclipse.jgit.lib.Config; +import org.eclipse.jgit.lib.ConfigConstants; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.ObjectInserter; +import org.eclipse.jgit.patch.PatchApplier.Result; +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevTree; +import org.eclipse.jgit.revwalk.RevWalk; +import org.eclipse.jgit.treewalk.TreeWalk; +import org.eclipse.jgit.util.FS; +import org.eclipse.jgit.util.IO; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + PatchApplierTest.WithWorktree. class, // + PatchApplierTest.InCore.class, // +}) +public class PatchApplierTest { + + public abstract static class Base extends RepositoryTestCase { + + protected String name; + + /** data before patching. */ + protected byte[] preImage; + /** expected data after patching. */ + protected byte[] postImage; + + protected String expectedText; + protected RevTree baseTip; + public boolean inCore; + + Base(boolean inCore) { + this.inCore = inCore; + } + + protected void init(final String name, final boolean preExists, + final boolean postExists) throws Exception { + /* Patch and pre/postimage are read from data org.eclipse.jgit.test/tst-rsrc/org/eclipse/jgit/diff/ */ + this.name = name; + if (postExists) { + postImage = IO + .readWholeStream(getTestResource(name + "_PostImage"), 0) + .array(); + expectedText = new String(postImage, StandardCharsets.UTF_8); + } + + File f = new File(db.getWorkTree(), name); + if (preExists) { + preImage = IO + .readWholeStream(getTestResource(name + "_PreImage"), 0) + .array(); + try (Git git = new Git(db)) { + Files.write(f.toPath(), preImage); + git.add().addFilepattern(name).call(); + } + } + try (Git git = new Git(db)) { + RevCommit base = git.commit().setMessage("PreImage").call(); + baseTip = base.getTree(); + } + } + + void init(final String name) throws Exception { + init(name, true, true); + } + + protected Result applyPatch() + throws PatchApplyException, PatchFormatException, IOException { + InputStream patchStream = getTestResource(name + ".patch"); + if (inCore) { + try (ObjectInserter oi = db.newObjectInserter()) { + return new PatchApplier(db, baseTip, oi).applyPatch(patchStream); + } + } + return new PatchApplier(db).applyPatch(patchStream); + } + + protected static InputStream getTestResource(String patchFile) { + return PatchApplierTest.class.getClassLoader() + .getResourceAsStream("org/eclipse/jgit/diff/" + patchFile); + } + void verifyChange(Result result, String name) throws Exception { + verifyChange(result, name, true); + } + + protected void verifyContent(Result result, String path, boolean exists) throws Exception { + if (inCore) { + byte[] output = readBlob(result.getTreeId(), path); + if (!exists) + assertNull(output); + else { + assertNotNull(output); + assertEquals(new String(output, StandardCharsets.UTF_8), expectedText); + } + } else { + File f = new File(db.getWorkTree(), path); + if (!exists) + assertFalse(f.exists()); + else + checkFile(f, expectedText); + } + } + + void verifyChange(Result result, String name, boolean exists) throws Exception { + assertEquals(1, result.getPaths().size()); + verifyContent(result, name, exists); + } + + protected byte[] readBlob(ObjectId treeish, String path) throws Exception { + try (TestRepository<?> tr = new TestRepository<>(db); + RevWalk rw = tr.getRevWalk()) { + db.incrementOpen(); + RevTree tree = rw.parseTree(treeish); + try (TreeWalk tw = TreeWalk.forPath(db,path,tree)){ + if (tw == null) { + return null; + } + return tw.getObjectReader().open(tw.getObjectId(0), OBJ_BLOB).getBytes(); + } + } + } + + protected void checkBinary(Result result, int numberOfFiles) throws Exception { + assertEquals(numberOfFiles, result.getPaths().size()); + if (inCore) { + assertArrayEquals(postImage, readBlob(result.getTreeId(), result.getPaths().get(0))); + } else { + File f = new File(db.getWorkTree(), name); + assertArrayEquals(postImage, Files.readAllBytes(f.toPath())); + } + } + + /* tests */ + + @Test + public void testBinaryDelta() throws Exception { + init("delta"); + checkBinary(applyPatch(), 1); + } + + @Test + public void testBinaryLiteral() throws Exception { + init("literal"); + checkBinary(applyPatch(), 1); + } + + @Test + public void testBinaryLiteralAdd() throws Exception { + init("literal_add", false, true); + checkBinary(applyPatch(), 1); + } + + @Test + public void testModifyM2() throws Exception { + init("M2", true, true); + + Result result = applyPatch(); + + if (!inCore && FS.DETECTED.supportsExecute()) { + assertEquals(1, result.getPaths().size()); + File f = new File(db.getWorkTree(), result.getPaths().get(0)); + assertTrue(FS.DETECTED.canExecute(f)); + } + + verifyChange(result, "M2"); + } + + @Test + public void testModifyM3() throws Exception { + init("M3", true, true); + + Result result = applyPatch(); + + verifyChange(result, "M3"); + if (!inCore && FS.DETECTED.supportsExecute()) { + File f = new File(db.getWorkTree(), result.getPaths().get(0)); + assertFalse(FS.DETECTED.canExecute(f)); + } + } + + @Test + public void testModifyX() throws Exception { + init("X"); + + Result result = applyPatch(); + verifyChange(result, "X"); + } + + @Test + public void testModifyY() throws Exception { + init("Y"); + + Result result = applyPatch(); + + verifyChange(result, "Y"); + } + + @Test + public void testModifyZ() throws Exception { + init("Z"); + + Result result = applyPatch(); + verifyChange(result, "Z"); + } + + @Test + public void testNonASCII() throws Exception { + init("NonASCII"); + + Result result = applyPatch(); + verifyChange(result, "NonASCII"); + } + + @Test + public void testNonASCII2() throws Exception { + init("NonASCII2"); + + Result result = applyPatch(); + verifyChange(result, "NonASCII2"); + } + + @Test + public void testNonASCIIAdd() throws Exception { + init("NonASCIIAdd"); + + Result result = applyPatch(); + verifyChange(result, "NonASCIIAdd"); + } + + @Test + public void testNonASCIIAdd2() throws Exception { + init("NonASCIIAdd2", false, true); + + Result result = applyPatch(); + verifyChange(result, "NonASCIIAdd2"); + } + + @Test + public void testNonASCIIDel() throws Exception { + init("NonASCIIDel", true, false); + + Result result = applyPatch(); + verifyChange(result, "NonASCIIDel", false); + assertEquals("NonASCIIDel", result.getPaths().get(0)); + } + + @Test + public void testRenameNoHunks() throws Exception { + init("RenameNoHunks", true, true); + + Result result = applyPatch(); + + assertEquals(2, result.getPaths().size()); + assertTrue(result.getPaths().contains("RenameNoHunks")); + assertTrue(result.getPaths().contains("nested/subdir/Renamed")); + + verifyContent(result,"nested/subdir/Renamed", true); + } + + @Test + public void testRenameWithHunks() throws Exception { + init("RenameWithHunks", true, true); + + Result result = applyPatch(); + assertEquals(2, result.getPaths().size()); + assertTrue(result.getPaths().contains("RenameWithHunks")); + assertTrue(result.getPaths().contains("nested/subdir/Renamed")); + + verifyContent(result,"nested/subdir/Renamed", true); + } + + @Test + public void testCopyWithHunks() throws Exception { + init("CopyWithHunks", true, true); + + Result result = applyPatch(); + verifyChange(result, "CopyResult", true); + } + + @Test + public void testShiftUp() throws Exception { + init("ShiftUp"); + + Result result = applyPatch(); + verifyChange(result, "ShiftUp"); + } + + @Test + public void testShiftUp2() throws Exception { + init("ShiftUp2"); + + Result result = applyPatch(); + verifyChange(result, "ShiftUp2"); + } + + @Test + public void testShiftDown() throws Exception { + init("ShiftDown"); + + Result result = applyPatch(); + verifyChange(result, "ShiftDown"); + } + + @Test + public void testShiftDown2() throws Exception { + init("ShiftDown2"); + + Result result = applyPatch(); + verifyChange(result, "ShiftDown2"); + } + } + + public static class InCore extends Base { + + public InCore() { + super(true); + } + } + + public static class WithWorktree extends Base { + public WithWorktree() { super(false); } + + @Test + public void testModifyNL1() throws Exception { + init("NL1"); + + Result result = applyPatch(); + verifyChange(result, "NL1"); + } + + @Test + public void testCrLf() throws Exception { + try { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, true); + init("crlf", true, true); + + Result result = applyPatch(); + + verifyChange(result, "crlf"); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + @Test + public void testCrLfOff() throws Exception { + try { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, false); + init("crlf", true, true); + + Result result = applyPatch(); + + verifyChange(result, "crlf"); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + @Test + public void testCrLfEmptyCommitted() throws Exception { + try { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, true); + init("crlf3", true, true); + + Result result = applyPatch(); + + verifyChange(result, "crlf3"); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + @Test + public void testCrLfNewFile() throws Exception { + try { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, true); + init("crlf4", false, true); + + Result result = applyPatch(); + + verifyChange(result, "crlf4"); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + @Test + public void testPatchWithCrLf() throws Exception { + try { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, false); + init("crlf2", true, true); + + Result result = applyPatch(); + + verifyChange(result, "crlf2"); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + @Test + public void testPatchWithCrLf2() throws Exception { + String name = "crlf2"; + try (Git git = new Git(db)) { + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, false); + init(name, true, true); + db.getConfig().setBoolean(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF, true); + + Result result = applyPatch(); + + verifyChange(result, name); + } finally { + db.getConfig().unset(ConfigConstants.CONFIG_CORE_SECTION, null, + ConfigConstants.CONFIG_KEY_AUTOCRLF); + } + } + + // Clean/smudge filter for testFiltering. The smudgetest test resources were + // created with C git using a clean filter sed -e "s/A/E/g" and the smudge + // filter sed -e "s/E/A/g". To keep the test independent of the presence of + // sed, implement this with a built-in filter. + private static class ReplaceFilter extends FilterCommand { + + private final char toReplace; + + private final char replacement; + + ReplaceFilter(InputStream in, OutputStream out, char toReplace, + char replacement) { + super(in, out); + this.toReplace = toReplace; + this.replacement = replacement; + } + + @Override + public int run() throws IOException { + int b = in.read(); + if (b < 0) { + in.close(); + out.close(); + return -1; + } + if ((b & 0xFF) == toReplace) { + b = replacement; + } + out.write(b); + return 1; + } + } + + @Test + public void testFiltering() throws Exception { + // Set up filter + FilterCommandFactory clean = (repo, in, out) -> new ReplaceFilter(in, out, 'A', 'E'); + FilterCommandFactory smudge = (repo, in, out) -> new ReplaceFilter(in, out, 'E', 'A'); + FilterCommandRegistry.register("jgit://builtin/a2e/clean", clean); + FilterCommandRegistry.register("jgit://builtin/a2e/smudge", smudge); + Config config = db.getConfig(); + try (Git git = new Git(db)) { + config.setString(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", + "clean", "jgit://builtin/a2e/clean"); + config.setString(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", + "smudge", "jgit://builtin/a2e/smudge"); + write(new File(db.getWorkTree(), ".gitattributes"), + "smudgetest filter=a2e"); + git.add().addFilepattern(".gitattributes").call(); + git.commit().setMessage("Attributes").call(); + init("smudgetest", true, true); + + Result result = applyPatch(); + + verifyChange(result, name); + } finally { + config.unset(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", + "clean"); + config.unset(ConfigConstants.CONFIG_FILTER_SECTION, "a2e", + "smudge"); + // Tear down filter + FilterCommandRegistry.unregister("jgit://builtin/a2e/clean"); + FilterCommandRegistry.unregister("jgit://builtin/a2e/smudge"); + } + } + } +} diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java index 93bedb3c97..f02428efc9 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java @@ -24,6 +24,9 @@ import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.text.MessageFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.zip.Deflater; import org.eclipse.jgit.errors.TooLargeObjectInPackException; @@ -76,6 +79,49 @@ public class PackParserTest extends RepositoryTestCase { } } + @Test + public void testParsePack1ReadsObjectSizes() throws IOException { + File packFile = JGitTestUtil.getTestResourceFile( + "pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.pack"); + + // Sizes from git cat-file -s after unpacking in a local repo + Map<String, Long> expected = new HashMap<>(); + // Commits + expected.put("540a36d136cf413e4b064c2b0e0a4db60f77feab", + Long.valueOf(191)); + expected.put("c59759f143fb1fe21c197981df75a7ee00290799", + Long.valueOf(240)); + expected.put("82c6b885ff600be425b4ea96dee75dca255b69e7", + Long.valueOf(245)); + + // Trees + expected.put("4b825dc642cb6eb9a060e54bf8d69288fbee4904", + Long.valueOf(0)); // empty + expected.put("902d5476fa249b7abc9d84c611577a81381f0327", + Long.valueOf(35)); + expected.put("aabf2ffaec9b497f0950352b3e582d73035c2035", + Long.valueOf(35)); + + // Blobs + expected.put("6ff87c4664981e4397625791c8ea3bbb5f2279a3", + Long.valueOf(18787)); + + // Deltas + expected.put("5b6e7c66c276e7610d4a73c70ec1a1f7c1003259", + Long.valueOf(18009)); // delta-oid blob + + + try (InputStream is = new FileInputStream(packFile)) { + ObjectDirectoryPackParser p = (ObjectDirectoryPackParser) index(is); + p.parse(NullProgressMonitor.INSTANCE); + List<PackedObjectInfo> parsedObjects = p.getSortedObjectList(null); + for (PackedObjectInfo objInfo: parsedObjects) { + assertEquals(objInfo.getName(), objInfo.getFullSize(), + expected.get(objInfo.getName()).longValue()); + } + } + } + /** * This is just another pack. It so happens that we have two convenient pack to * test with in the repository. @@ -107,6 +153,39 @@ public class PackParserTest extends RepositoryTestCase { } @Test + public void testParsePack2ReadsObjectSizes() throws IOException { + File packFile = JGitTestUtil.getTestResourceFile( + "pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.pack"); + Map<String, Long> expected = new HashMap<>(); + // Deltified commit + expected.put("d0114ab8ac326bab30e3a657a0397578c5a1af88", + Long.valueOf(222)); + // Delta of delta of commit + expected.put("f73b95671f326616d66b2afb3bdfcdbbce110b44", + Long.valueOf(221)); + // Deltified tree + expected.put("be9b45333b66013bde1c7314efc50fabd9b39c6d", + Long.valueOf(94)); + + try (InputStream is = new FileInputStream(packFile)) { + ObjectDirectoryPackParser p = (ObjectDirectoryPackParser) index(is); + p.parse(NullProgressMonitor.INSTANCE); + List<PackedObjectInfo> parsedObjects = p.getSortedObjectList(null); + // Check only the interesting objects + int assertedObjs = 0; + for (PackedObjectInfo objInfo : parsedObjects) { + if (!expected.containsKey(objInfo.getName())) { + continue; + } + assertEquals(objInfo.getName(), objInfo.getFullSize(), + expected.get(objInfo.getName()).longValue()); + assertedObjs += 1; + } + assertEquals(assertedObjs, expected.size()); + } + } + + @Test public void testTinyThinPack() throws Exception { RevBlob a; try (TestRepository d = new TestRepository<Repository>(db)) { @@ -150,6 +229,45 @@ public class PackParserTest extends RepositoryTestCase { } @Test + public void testParseOfsDeltaFullSize() throws Exception { + final byte[] data = Constants.encode("0123456789"); + try (TestRepository<Repository> d = new TestRepository<>(db)) { + db.incrementOpen(); + assertTrue(db.getObjectDatabase().has(d.blob(data))); + } + + TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(1024); + packHeader(pack, 2); + pack.write((Constants.OBJ_BLOB) << 4 | 10); // offset 12 + deflate(pack, data); + pack.write((Constants.OBJ_OFS_DELTA) << 4 | 4); // offset 31 + pack.write(19); + deflate(pack, new byte[] { 0xA, 0xB, 0x1, 'b' }); + digest(pack); + + PackParser p = index(new ByteArrayInputStream(pack.toByteArray())); + p.parse(NullProgressMonitor.INSTANCE); + + List<PackedObjectInfo> sortedObjectList = p.getSortedObjectList(null); + assertEquals(sortedObjectList.size(), 2); + + // Deltified comes first because they are sorted by SHA1 + PackedObjectInfo deltifiedObj = sortedObjectList.get(0); + assertEquals(deltifiedObj.getName(), + "16646543f87fb53e30b032eec7dfc88f2e717966"); + assertEquals(deltifiedObj.getOffset(), 31); + assertEquals(deltifiedObj.getType(), Constants.OBJ_BLOB); + assertEquals(deltifiedObj.getFullSize(), 11); + + PackedObjectInfo baseObj = sortedObjectList.get(1); + assertEquals(baseObj.getName(), + "ad471007bd7f5983d273b9584e5629230150fd54"); + assertEquals(baseObj.getOffset(), 12); + assertEquals(baseObj.getType(), Constants.OBJ_BLOB); + assertEquals(baseObj.getFullSize(), 10); + } + + @Test public void testPackWithTrailingGarbage() throws Exception { RevBlob a; try (TestRepository d = new TestRepository<Repository>(db)) { diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java index b2a4af30ab..61b7fb619a 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java @@ -98,6 +98,25 @@ public class ProtocolV0ParserTest { "f900c8326a43303685c46b279b9f70411bff1a4b")); } + @Test + public void testRecvWantsWithSessionID() + throws PackProtocolException, IOException { + PacketLineIn pckIn = formatAsPacketLine(String.join(" ", "want", + "4624442d68ee402a94364191085b77137618633e", "thin-pack", + "agent=JGit.test/0.0.1", "session-id=client-session-id", "\n"), + "want f900c8326a43303685c46b279b9f70411bff1a4b\n", + PacketLineIn.end()); + ProtocolV0Parser parser = new ProtocolV0Parser(defaultConfig()); + FetchV0Request request = parser.recvWants(pckIn); + assertTrue(request.getClientCapabilities() + .contains(GitProtocolConstants.OPTION_THIN_PACK)); + assertEquals(1, request.getClientCapabilities().size()); + assertEquals("client-session-id", request.getClientSID()); + assertThat(request.getWantIds(), + hasOnlyObjectIds("4624442d68ee402a94364191085b77137618633e", + "f900c8326a43303685c46b279b9f70411bff1a4b")); + } + /* * First round of protocol v0 negotiation. Client send wants, no * capabilities. diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java index 167b5b72c6..bab4a36cc4 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java @@ -361,4 +361,28 @@ public class ProtocolV2ParserTest { assertEquals(2, req.getRefPrefixes().size()); assertThat(req.getRefPrefixes(), hasItems("refs/for", "refs/heads")); } + + @Test + public void testFetchWithSessionID() throws IOException { + PacketLineIn pckIn = formatAsPacketLine("session-id=the.client.sid", + PacketLineIn.end()); + + ProtocolV2Parser parser = new ProtocolV2Parser( + ConfigBuilder.start().allowFilter().done()); + FetchV2Request request = parser.parseFetchRequest(pckIn); + + assertEquals("the.client.sid", request.getClientSID()); + } + + @Test + public void testLsRefsWithSessionID() throws IOException { + PacketLineIn pckIn = formatAsPacketLine("session-id=the.client.sid", + PacketLineIn.delimiter(), PacketLineIn.end()); + + ProtocolV2Parser parser = new ProtocolV2Parser( + ConfigBuilder.getDefault()); + LsRefsV2Request req = parser.parseLsRefsRequest(pckIn); + + assertEquals("the.client.sid", req.getClientSID()); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransferConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransferConfigTest.java index d9b85fb003..8dad571e5a 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransferConfigTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransferConfigTest.java @@ -11,6 +11,8 @@ package org.eclipse.jgit.transport; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; import org.eclipse.jgit.lib.Config; import org.junit.Test; @@ -66,4 +68,19 @@ public class TransferConfigTest { TransferConfig tc = new TransferConfig(rc); assertNull(tc.protocolVersion); } + + @Test + public void testParseAdvertiseSIDDefault() { + Config rc = new Config(); + TransferConfig tc = new TransferConfig(rc); + assertFalse(tc.isAllowReceiveClientSID()); + } + + @Test + public void testParseAdvertiseSIDSet() { + Config rc = new Config(); + rc.setBoolean("transfer", null, "advertiseSID", true); + TransferConfig tc = new TransferConfig(rc); + assertTrue(tc.isAllowReceiveClientSID()); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java index 5ae440f1d2..2019c263fb 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java @@ -242,6 +242,37 @@ public class TransportTest extends SampleDataRepositoryTestCase { } @Test + public void testOpenPushUseBitmaps() throws Exception { + URIish uri = new URIish("file://" + db.getWorkTree().getAbsolutePath()); + // default + try (Transport transport = Transport.open(uri)) { + try (PushConnection pushConnection = transport.openPush()) { + assertTrue(pushConnection instanceof BasePackPushConnection); + BasePackPushConnection basePackPushConnection = (BasePackPushConnection) pushConnection; + assertEquals(true, basePackPushConnection.isUseBitmaps()); + } + } + // true + try (Transport transport = Transport.open(uri)) { + transport.setPushUseBitmaps(true); + try (PushConnection pushConnection = transport.openPush()) { + assertTrue(pushConnection instanceof BasePackPushConnection); + BasePackPushConnection basePackPushConnection = (BasePackPushConnection) pushConnection; + assertEquals(true, basePackPushConnection.isUseBitmaps()); + } + } + // false + try (Transport transport = Transport.open(uri)) { + transport.setPushUseBitmaps(false); + try (PushConnection pushConnection = transport.openPush()) { + assertTrue(pushConnection instanceof BasePackPushConnection); + BasePackPushConnection basePackPushConnection = (BasePackPushConnection) pushConnection; + assertEquals(false, basePackPushConnection.isUseBitmaps()); + } + } + } + + @Test public void testSpi() { List<TransportProtocol> protocols = Transport.getTransportProtocols(); assertNotNull(protocols); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java index 7131905850..df48afef35 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java @@ -2429,6 +2429,24 @@ public class UploadPackTest { } @Test + public void testGetSessionIDValueProtocolV0() throws Exception { + RevCommit one = remote.commit().message("1").create(); + remote.update("one", one); + + UploadPack up = new UploadPack(server); + ByteArrayInputStream send = linesAsInputStream( + "want " + one.getName() + " agent=JGit-test/1.2.3" + + " session-id=client-session-id\n", + PacketLineIn.end(), + "have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n"); + + ByteArrayOutputStream recv = new ByteArrayOutputStream(); + up.upload(send, recv, null); + + assertEquals(up.getClientSID(), "client-session-id"); + } + + @Test public void testGetPeerAgentProtocolV2() throws Exception { server.getConfig().setString(ConfigConstants.CONFIG_PROTOCOL_SECTION, null, ConfigConstants.CONFIG_KEY_VERSION, @@ -2452,6 +2470,30 @@ public class UploadPackTest { assertEquals(up.getPeerUserAgent(), "JGit-test/1.2.4"); } + @Test + public void testGetSessionIDValueProtocolV2() throws Exception { + server.getConfig().setString(ConfigConstants.CONFIG_PROTOCOL_SECTION, + null, ConfigConstants.CONFIG_KEY_VERSION, + TransferConfig.ProtocolVersion.V2.version()); + + RevCommit one = remote.commit().message("1").create(); + remote.update("one", one); + + UploadPack up = new UploadPack(server); + up.setExtraParameters(Sets.of("version=2")); + + ByteArrayInputStream send = linesAsInputStream("command=fetch\n", + "agent=JGit-test/1.2.4\n", "session-id=client-session-id\n", + PacketLineIn.delimiter(), "want " + one.getName() + "\n", + "have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n", + PacketLineIn.end()); + + ByteArrayOutputStream recv = new ByteArrayOutputStream(); + up.upload(send, recv, null); + + assertEquals(up.getClientSID(), "client-session-id"); + } + private static class RejectAllRefFilter implements RefFilter { @Override public Map<String, Ref> filter(Map<String, Ref> refs) { diff --git a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF index 3552ffbdbe..d11b38fa8d 100644 --- a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF @@ -4,14 +4,14 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ui Bundle-SymbolicName: org.eclipse.jgit.ui -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.awtui;version="6.3.1" -Import-Package: org.eclipse.jgit.errors;version="[6.3.1,6.4.0)", - org.eclipse.jgit.lib;version="[6.3.1,6.4.0)", - org.eclipse.jgit.nls;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revplot;version="[6.3.1,6.4.0)", - org.eclipse.jgit.revwalk;version="[6.3.1,6.4.0)", - org.eclipse.jgit.transport;version="[6.3.1,6.4.0)", - org.eclipse.jgit.util;version="[6.3.1,6.4.0)" +Export-Package: org.eclipse.jgit.awtui;version="6.4.0" +Import-Package: org.eclipse.jgit.errors;version="[6.4.0,6.5.0)", + org.eclipse.jgit.lib;version="[6.4.0,6.5.0)", + org.eclipse.jgit.nls;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revplot;version="[6.4.0,6.5.0)", + org.eclipse.jgit.revwalk;version="[6.4.0,6.5.0)", + org.eclipse.jgit.transport;version="[6.4.0,6.5.0)", + org.eclipse.jgit.util;version="[6.4.0,6.5.0)" diff --git a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF index 147b1e435f..d042497c33 100644 --- a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit.ui - Sources Bundle-SymbolicName: org.eclipse.jgit.ui.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit.ui;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit.ui;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit.ui/pom.xml b/org.eclipse.jgit.ui/pom.xml index fce6d4d52c..386b6659fa 100644 --- a/org.eclipse.jgit.ui/pom.xml +++ b/org.eclipse.jgit.ui/pom.xml @@ -19,7 +19,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ui</artifactId> diff --git a/org.eclipse.jgit/.settings/.api_filters b/org.eclipse.jgit/.settings/.api_filters deleted file mode 100644 index 1683f33d0c..0000000000 --- a/org.eclipse.jgit/.settings/.api_filters +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<component id="org.eclipse.jgit" version="2"> - <resource path="src/org/eclipse/jgit/transport/AwsRequestSignerV4.java" type="org.eclipse.jgit.transport.AwsRequestSignerV4"> - <filter id="1108344834"> - <message_arguments> - <message_argument value="5.13"/> - <message_argument value="6.3"/> - <message_argument value="org.eclipse.jgit.transport.AwsRequestSignerV4"/> - </message_arguments> - </filter> - </resource> - <resource path="src/org/eclipse/jgit/util/HttpSupport.java" type="org.eclipse.jgit.util.HttpSupport"> - <filter id="1141899266"> - <message_arguments> - <message_argument value="5.13"/> - <message_argument value="6.3"/> - <message_argument value="urlEncode(String, boolean)"/> - </message_arguments> - </filter> - </resource> - <resource path="src/org/eclipse/jgit/util/Paths.java" type="org.eclipse.jgit.util.Paths"> - <filter id="337768515"> - <message_arguments> - <message_argument value="org.eclipse.jgit.util.Paths"/> - </message_arguments> - </filter> - </resource> -</component> diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF index 307a8016e3..2eb35de1b1 100644 --- a/org.eclipse.jgit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/MANIFEST.MF @@ -3,12 +3,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit Bundle-SymbolicName: org.eclipse.jgit -Bundle-Version: 6.3.1.qualifier +Bundle-Version: 6.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Eclipse-ExtensibleAPI: true -Export-Package: org.eclipse.jgit.annotations;version="6.3.1", - org.eclipse.jgit.api;version="6.3.1"; +Export-Package: org.eclipse.jgit.annotations;version="6.4.0", + org.eclipse.jgit.api;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.notes, org.eclipse.jgit.dircache, @@ -23,18 +23,18 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.blame, org.eclipse.jgit.merge", - org.eclipse.jgit.api.errors;version="6.3.1"; + org.eclipse.jgit.api.errors;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.errors", - org.eclipse.jgit.attributes;version="6.3.1"; + org.eclipse.jgit.attributes;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.blame;version="6.3.1"; + org.eclipse.jgit.blame;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.diff", - org.eclipse.jgit.diff;version="6.3.1"; + org.eclipse.jgit.diff;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.revwalk, @@ -42,51 +42,51 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.dircache;version="6.3.1"; + org.eclipse.jgit.dircache;version="6.4.0"; uses:="org.eclipse.jgit.events, org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.errors;version="6.3.1"; + org.eclipse.jgit.errors;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.internal.storage.pack", - org.eclipse.jgit.events;version="6.3.1"; + org.eclipse.jgit.events;version="6.4.0"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.fnmatch;version="6.3.1", - org.eclipse.jgit.gitrepo;version="6.3.1"; + org.eclipse.jgit.fnmatch;version="6.4.0", + org.eclipse.jgit.gitrepo;version="6.4.0"; uses:="org.xml.sax.helpers, org.eclipse.jgit.api, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.xml.sax", - org.eclipse.jgit.gitrepo.internal;version="6.3.1";x-internal:=true, - org.eclipse.jgit.hooks;version="6.3.1";uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.ignore;version="6.3.1", - org.eclipse.jgit.ignore.internal;version="6.3.1"; + org.eclipse.jgit.gitrepo.internal;version="6.4.0";x-internal:=true, + org.eclipse.jgit.hooks;version="6.4.0";uses:="org.eclipse.jgit.lib", + org.eclipse.jgit.ignore;version="6.4.0", + org.eclipse.jgit.ignore.internal;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal;version="6.3.1"; + org.eclipse.jgit.internal;version="6.4.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.http.test", - org.eclipse.jgit.internal.diff;version="6.3.1"; + org.eclipse.jgit.internal.diff;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.diffmergetool;version="6.3.1"; + org.eclipse.jgit.internal.diffmergetool;version="6.4.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.pgm.test, org.eclipse.jgit.pgm, org.eclipse.egit.ui", - org.eclipse.jgit.internal.fsck;version="6.3.1"; + org.eclipse.jgit.internal.fsck;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.revwalk;version="6.3.1"; + org.eclipse.jgit.internal.revwalk;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.dfs;version="6.3.1"; + org.eclipse.jgit.internal.storage.dfs;version="6.4.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.http.server, org.eclipse.jgit.http.test, org.eclipse.jgit.lfs.test", - org.eclipse.jgit.internal.storage.file;version="6.3.1"; + org.eclipse.jgit.internal.storage.file;version="6.4.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.junit, org.eclipse.jgit.junit.http, @@ -95,32 +95,32 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.pgm, org.eclipse.jgit.pgm.test, org.eclipse.jgit.ssh.apache", - org.eclipse.jgit.internal.storage.io;version="6.3.1"; + org.eclipse.jgit.internal.storage.io;version="6.4.0"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.pack;version="6.3.1"; + org.eclipse.jgit.internal.storage.pack;version="6.4.0"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.reftable;version="6.3.1"; + org.eclipse.jgit.internal.storage.reftable;version="6.4.0"; x-friends:="org.eclipse.jgit.http.test, org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.submodule;version="6.3.1";x-internal:=true, - org.eclipse.jgit.internal.transport.connectivity;version="6.3.1"; + org.eclipse.jgit.internal.submodule;version="6.4.0";x-internal:=true, + org.eclipse.jgit.internal.transport.connectivity;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.http;version="6.3.1"; + org.eclipse.jgit.internal.transport.http;version="6.4.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.parser;version="6.3.1"; + org.eclipse.jgit.internal.transport.parser;version="6.4.0"; x-friends:="org.eclipse.jgit.http.server, org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.ssh;version="6.3.1"; + org.eclipse.jgit.internal.transport.ssh;version="6.4.0"; x-friends:="org.eclipse.jgit.ssh.apache, org.eclipse.jgit.ssh.jsch, org.eclipse.jgit.test", - org.eclipse.jgit.lib;version="6.3.1"; + org.eclipse.jgit.lib;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.sha1, org.eclipse.jgit.dircache, @@ -134,12 +134,12 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.util, org.eclipse.jgit.submodule, org.eclipse.jgit.util.time", - org.eclipse.jgit.lib.internal;version="6.3.1"; + org.eclipse.jgit.lib.internal;version="6.4.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.pgm, org.eclipse.egit.ui", - org.eclipse.jgit.logging;version="6.3.1", - org.eclipse.jgit.merge;version="6.3.1"; + org.eclipse.jgit.logging;version="6.4.0", + org.eclipse.jgit.merge;version="6.4.0"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -148,40 +148,40 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.util, org.eclipse.jgit.api, org.eclipse.jgit.attributes", - org.eclipse.jgit.nls;version="6.3.1", - org.eclipse.jgit.notes;version="6.3.1"; + org.eclipse.jgit.nls;version="6.4.0", + org.eclipse.jgit.notes;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk, org.eclipse.jgit.merge", - org.eclipse.jgit.patch;version="6.3.1"; + org.eclipse.jgit.patch;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff", - org.eclipse.jgit.revplot;version="6.3.1"; + org.eclipse.jgit.revplot;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk", - org.eclipse.jgit.revwalk;version="6.3.1"; + org.eclipse.jgit.revwalk;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.treewalk", - org.eclipse.jgit.revwalk.filter;version="6.3.1"; + org.eclipse.jgit.revwalk.filter;version="6.4.0"; uses:="org.eclipse.jgit.revwalk, org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.file;version="6.3.1"; + org.eclipse.jgit.storage.file;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.pack;version="6.3.1"; + org.eclipse.jgit.storage.pack;version="6.4.0"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.submodule;version="6.3.1"; + org.eclipse.jgit.submodule;version="6.4.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.transport;version="6.3.1"; + org.eclipse.jgit.transport;version="6.4.0"; uses:="javax.crypto, org.eclipse.jgit.util.io, org.eclipse.jgit.lib, @@ -194,21 +194,21 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.transport.resolver, org.eclipse.jgit.storage.pack, org.eclipse.jgit.errors", - org.eclipse.jgit.transport.http;version="6.3.1"; + org.eclipse.jgit.transport.http;version="6.4.0"; uses:="javax.net.ssl", - org.eclipse.jgit.transport.resolver;version="6.3.1"; + org.eclipse.jgit.transport.resolver;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.lib", - org.eclipse.jgit.treewalk;version="6.3.1"; + org.eclipse.jgit.treewalk;version="6.4.0"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.attributes, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.util", - org.eclipse.jgit.treewalk.filter;version="6.3.1"; + org.eclipse.jgit.treewalk.filter;version="6.4.0"; uses:="org.eclipse.jgit.treewalk", - org.eclipse.jgit.util;version="6.3.1"; + org.eclipse.jgit.util;version="6.4.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.hooks, org.eclipse.jgit.revwalk, @@ -221,12 +221,12 @@ Export-Package: org.eclipse.jgit.annotations;version="6.3.1", org.eclipse.jgit.treewalk, javax.net.ssl, org.eclipse.jgit.util.time", - org.eclipse.jgit.util.io;version="6.3.1"; + org.eclipse.jgit.util.io;version="6.4.0"; uses:="org.eclipse.jgit.attributes, org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.util.sha1;version="6.3.1", - org.eclipse.jgit.util.time;version="6.3.1" + org.eclipse.jgit.util.sha1;version="6.4.0", + org.eclipse.jgit.util.time;version="6.4.0" Bundle-RequiredExecutionEnvironment: JavaSE-11 Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", javax.crypto, diff --git a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF index 43e88e531c..619a0c6780 100644 --- a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF @@ -3,5 +3,5 @@ Bundle-ManifestVersion: 2 Bundle-Name: org.eclipse.jgit - Sources Bundle-SymbolicName: org.eclipse.jgit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 6.3.1.qualifier -Eclipse-SourceBundle: org.eclipse.jgit;version="6.3.1.qualifier";roots="." +Bundle-Version: 6.4.0.qualifier +Eclipse-SourceBundle: org.eclipse.jgit;version="6.4.0.qualifier";roots="." diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml index 7e6bc0a4f4..62f5f9af8c 100644 --- a/org.eclipse.jgit/pom.xml +++ b/org.eclipse.jgit/pom.xml @@ -20,7 +20,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit</artifactId> diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties index f3ecadd6e5..93269d5d62 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties +++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties @@ -14,7 +14,9 @@ aNewObjectIdIsRequired=A NewObjectId is required. anExceptionOccurredWhileTryingToAddTheIdOfHEAD=An exception occurred while trying to add the Id of HEAD anSSHSessionHasBeenAlreadyCreated=An SSH session has been already created applyBinaryBaseOidWrong=Cannot apply binary patch; OID for file {0} does not match +applyBinaryForInCoreNotSupported=Applying binary patch for inCore repositories is not yet supported applyBinaryOidTooShort=Binary patch for file {0} does not have full IDs +applyBinaryPatchTypeNotSupported=Couldn't apply binary patch of type {0} applyBinaryResultOidWrong=Result of binary patch for file {0} has wrong OID. applyingCommit=Applying {0} archiveFormatAlreadyAbsent=Archive format already absent: {0} @@ -155,6 +157,7 @@ connectionFailed=connection failed connectionTimeOut=Connection time out: {0} contextMustBeNonNegative=context must be >= 0 cookieFilePathRelative=git config http.cookieFile contains a relative path, should be absolute: {0} +copyFileFailedNullFiles=Cannot copy file. Either origin or destination files are null corruptionDetectedReReadingAt=Corruption detected re-reading at {0} corruptObjectBadDate=bad date corruptObjectBadEmail=bad email @@ -627,6 +630,7 @@ renameBranchFailedUnknownReason=Rename failed with unknown reason renameBranchUnexpectedResult=Unexpected rename result {0} renameCancelled=Rename detection was cancelled renameFileFailed=Could not rename file {0} to {1} +renameFileFailedNullFiles=Cannot rename file. Either origin or destination files are null renamesAlreadyFound=Renames have already been found. renamesBreakingModifies=Breaking apart modified file pairs renamesFindingByContent=Finding renames by content similarity diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java index e7f40d811b..49f225f319 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java @@ -9,62 +9,13 @@ */ package org.eclipse.jgit.api; -import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; -import java.nio.ByteBuffer; -import java.nio.file.Files; -import java.nio.file.StandardCopyOption; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.zip.InflaterInputStream; -import org.eclipse.jgit.api.errors.FilterFailedException; import org.eclipse.jgit.api.errors.GitAPIException; -import org.eclipse.jgit.api.errors.PatchApplyException; -import org.eclipse.jgit.api.errors.PatchFormatException; -import org.eclipse.jgit.attributes.FilterCommand; -import org.eclipse.jgit.attributes.FilterCommandRegistry; -import org.eclipse.jgit.diff.DiffEntry.ChangeType; -import org.eclipse.jgit.diff.RawText; -import org.eclipse.jgit.dircache.DirCache; -import org.eclipse.jgit.dircache.DirCacheCheckout; -import org.eclipse.jgit.dircache.DirCacheCheckout.CheckoutMetadata; -import org.eclipse.jgit.dircache.DirCacheIterator; import org.eclipse.jgit.internal.JGitText; -import org.eclipse.jgit.lib.Constants; -import org.eclipse.jgit.lib.CoreConfig.EolStreamType; -import org.eclipse.jgit.lib.FileMode; -import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; -import org.eclipse.jgit.patch.BinaryHunk; -import org.eclipse.jgit.patch.FileHeader; -import org.eclipse.jgit.patch.FileHeader.PatchType; -import org.eclipse.jgit.patch.HunkHeader; -import org.eclipse.jgit.patch.Patch; -import org.eclipse.jgit.treewalk.FileTreeIterator; -import org.eclipse.jgit.treewalk.TreeWalk; -import org.eclipse.jgit.treewalk.TreeWalk.OperationType; -import org.eclipse.jgit.treewalk.filter.AndTreeFilter; -import org.eclipse.jgit.treewalk.filter.NotIgnoredFilter; -import org.eclipse.jgit.treewalk.filter.PathFilterGroup; -import org.eclipse.jgit.util.FS; -import org.eclipse.jgit.util.FS.ExecutionResult; -import org.eclipse.jgit.util.FileUtils; -import org.eclipse.jgit.util.IO; -import org.eclipse.jgit.util.RawParseUtils; -import org.eclipse.jgit.util.StringUtils; -import org.eclipse.jgit.util.TemporaryBuffer; -import org.eclipse.jgit.util.TemporaryBuffer.LocalFile; -import org.eclipse.jgit.util.io.BinaryDeltaInputStream; -import org.eclipse.jgit.util.io.BinaryHunkInputStream; -import org.eclipse.jgit.util.io.EolStreamTypeUtil; -import org.eclipse.jgit.util.sha1.SHA1; +import org.eclipse.jgit.patch.PatchApplier; +import org.eclipse.jgit.patch.PatchApplier.Result; /** * Apply a patch to files and/or to the index. @@ -80,10 +31,13 @@ public class ApplyCommand extends GitCommand<ApplyResult> { /** * Constructs the command. * - * @param repo + * @param local */ - ApplyCommand(Repository repo) { - super(repo); + ApplyCommand(Repository local) { + super(local); + if (local == null) { + throw new NullPointerException(JGitText.get().repositoryIsRequired); + } } /** @@ -101,6 +55,7 @@ public class ApplyCommand extends GitCommand<ApplyResult> { /** * {@inheritDoc} + * * <p> * Executes the {@code ApplyCommand} command with all the options and * parameters collected by the setter methods (e.g. @@ -109,621 +64,15 @@ public class ApplyCommand extends GitCommand<ApplyResult> { * method twice on an instance. */ @Override - public ApplyResult call() throws GitAPIException, PatchFormatException, - PatchApplyException { + public ApplyResult call() throws GitAPIException { checkCallable(); setCallable(false); ApplyResult r = new ApplyResult(); - try { - final Patch p = new Patch(); - try { - p.parse(in); - } finally { - in.close(); - } - if (!p.getErrors().isEmpty()) { - throw new PatchFormatException(p.getErrors()); - } - Repository repository = getRepository(); - DirCache cache = repository.readDirCache(); - for (FileHeader fh : p.getFiles()) { - ChangeType type = fh.getChangeType(); - File f = null; - switch (type) { - case ADD: - f = getFile(fh.getNewPath(), true); - apply(repository, fh.getNewPath(), cache, f, fh); - break; - case MODIFY: - f = getFile(fh.getOldPath(), false); - apply(repository, fh.getOldPath(), cache, f, fh); - break; - case DELETE: - f = getFile(fh.getOldPath(), false); - if (!f.delete()) - throw new PatchApplyException(MessageFormat.format( - JGitText.get().cannotDeleteFile, f)); - break; - case RENAME: - f = getFile(fh.getOldPath(), false); - File dest = getFile(fh.getNewPath(), false); - try { - FileUtils.mkdirs(dest.getParentFile(), true); - FileUtils.rename(f, dest, - StandardCopyOption.ATOMIC_MOVE); - } catch (IOException e) { - throw new PatchApplyException(MessageFormat.format( - JGitText.get().renameFileFailed, f, dest), e); - } - apply(repository, fh.getOldPath(), cache, dest, fh); - r.addUpdatedFile(dest); - break; - case COPY: - File src = getFile(fh.getOldPath(), false); - f = getFile(fh.getNewPath(), false); - FileUtils.mkdirs(f.getParentFile(), true); - Files.copy(src.toPath(), f.toPath()); - apply(repository, fh.getOldPath(), cache, f, fh); - } - r.addUpdatedFile(f); - } - } catch (IOException e) { - throw new PatchApplyException(MessageFormat.format( - JGitText.get().patchApplyException, e.getMessage()), e); + PatchApplier patchApplier = new PatchApplier(repo); + Result applyResult = patchApplier.applyPatch(in); + for (String p : applyResult.getPaths()) { + r.addUpdatedFile(new File(repo.getWorkTree(), p)); } return r; } - - private File getFile(String path, boolean create) - throws PatchApplyException { - File f = new File(getRepository().getWorkTree(), path); - if (create) { - try { - File parent = f.getParentFile(); - FileUtils.mkdirs(parent, true); - FileUtils.createNewFile(f); - } catch (IOException e) { - throw new PatchApplyException(MessageFormat.format( - JGitText.get().createNewFileFailed, f), e); - } - } - return f; - } - - private void apply(Repository repository, String path, DirCache cache, - File f, FileHeader fh) throws IOException, PatchApplyException { - if (PatchType.BINARY.equals(fh.getPatchType())) { - return; - } - boolean convertCrLf = needsCrLfConversion(f, fh); - // Use a TreeWalk with a DirCacheIterator to pick up the correct - // clean/smudge filters. CR-LF handling is completely determined by - // whether the file or the patch have CR-LF line endings. - try (TreeWalk walk = new TreeWalk(repository)) { - walk.setOperationType(OperationType.CHECKIN_OP); - FileTreeIterator files = new FileTreeIterator(repository); - int fileIdx = walk.addTree(files); - int cacheIdx = walk.addTree(new DirCacheIterator(cache)); - files.setDirCacheIterator(walk, cacheIdx); - walk.setFilter(AndTreeFilter.create( - PathFilterGroup.createFromStrings(path), - new NotIgnoredFilter(fileIdx))); - walk.setRecursive(true); - if (walk.next()) { - // If the file on disk has no newline characters, convertCrLf - // will be false. In that case we want to honor the normal git - // settings. - EolStreamType streamType = convertCrLf ? EolStreamType.TEXT_CRLF - : walk.getEolStreamType(OperationType.CHECKOUT_OP); - String command = walk.getFilterCommand( - Constants.ATTR_FILTER_TYPE_SMUDGE); - CheckoutMetadata checkOut = new CheckoutMetadata(streamType, command); - FileTreeIterator file = walk.getTree(fileIdx, - FileTreeIterator.class); - if (file != null) { - if (PatchType.GIT_BINARY.equals(fh.getPatchType())) { - applyBinary(repository, path, f, fh, - file::openEntryStream, file.getEntryObjectId(), - checkOut); - } else { - command = walk.getFilterCommand( - Constants.ATTR_FILTER_TYPE_CLEAN); - RawText raw; - // Can't use file.openEntryStream() as it would do CR-LF - // conversion as usual, not as wanted by us. - try (InputStream input = filterClean(repository, path, - new FileInputStream(f), convertCrLf, command)) { - raw = new RawText( - IO.readWholeStream(input, 0).array()); - } - applyText(repository, path, raw, f, fh, checkOut); - } - return; - } - } - } - // File ignored? - RawText raw; - CheckoutMetadata checkOut; - if (PatchType.GIT_BINARY.equals(fh.getPatchType())) { - checkOut = new CheckoutMetadata(EolStreamType.DIRECT, null); - applyBinary(repository, path, f, fh, () -> new FileInputStream(f), - null, checkOut); - } else { - if (convertCrLf) { - try (InputStream input = EolStreamTypeUtil.wrapInputStream( - new FileInputStream(f), EolStreamType.TEXT_LF)) { - raw = new RawText(IO.readWholeStream(input, 0).array()); - } - checkOut = new CheckoutMetadata(EolStreamType.TEXT_CRLF, null); - } else { - raw = new RawText(f); - checkOut = new CheckoutMetadata(EolStreamType.DIRECT, null); - } - applyText(repository, path, raw, f, fh, checkOut); - } - } - - private boolean needsCrLfConversion(File f, FileHeader fileHeader) - throws IOException { - if (PatchType.GIT_BINARY.equals(fileHeader.getPatchType())) { - return false; - } - if (!hasCrLf(fileHeader)) { - try (InputStream input = new FileInputStream(f)) { - return RawText.isCrLfText(input); - } - } - return false; - } - - private static boolean hasCrLf(FileHeader fileHeader) { - if (PatchType.GIT_BINARY.equals(fileHeader.getPatchType())) { - return false; - } - for (HunkHeader header : fileHeader.getHunks()) { - byte[] buf = header.getBuffer(); - int hunkEnd = header.getEndOffset(); - int lineStart = header.getStartOffset(); - while (lineStart < hunkEnd) { - int nextLineStart = RawParseUtils.nextLF(buf, lineStart); - if (nextLineStart > hunkEnd) { - nextLineStart = hunkEnd; - } - if (nextLineStart <= lineStart) { - break; - } - if (nextLineStart - lineStart > 1) { - char first = (char) (buf[lineStart] & 0xFF); - if (first == ' ' || first == '-') { - // It's an old line. Does it end in CR-LF? - if (buf[nextLineStart - 2] == '\r') { - return true; - } - } - } - lineStart = nextLineStart; - } - } - return false; - } - - private InputStream filterClean(Repository repository, String path, - InputStream fromFile, boolean convertCrLf, String filterCommand) - throws IOException { - InputStream input = fromFile; - if (convertCrLf) { - input = EolStreamTypeUtil.wrapInputStream(input, - EolStreamType.TEXT_LF); - } - if (StringUtils.isEmptyOrNull(filterCommand)) { - return input; - } - if (FilterCommandRegistry.isRegistered(filterCommand)) { - LocalFile buffer = new TemporaryBuffer.LocalFile(null); - FilterCommand command = FilterCommandRegistry.createFilterCommand( - filterCommand, repository, input, buffer); - while (command.run() != -1) { - // loop as long as command.run() tells there is work to do - } - return buffer.openInputStreamWithAutoDestroy(); - } - FS fs = repository.getFS(); - ProcessBuilder filterProcessBuilder = fs.runInShell(filterCommand, - new String[0]); - filterProcessBuilder.directory(repository.getWorkTree()); - filterProcessBuilder.environment().put(Constants.GIT_DIR_KEY, - repository.getDirectory().getAbsolutePath()); - ExecutionResult result; - try { - result = fs.execute(filterProcessBuilder, in); - } catch (IOException | InterruptedException e) { - throw new IOException( - new FilterFailedException(e, filterCommand, path)); - } - int rc = result.getRc(); - if (rc != 0) { - throw new IOException(new FilterFailedException(rc, filterCommand, - path, result.getStdout().toByteArray(4096), RawParseUtils - .decode(result.getStderr().toByteArray(4096)))); - } - return result.getStdout().openInputStreamWithAutoDestroy(); - } - - private void initHash(SHA1 hash, long size) { - hash.update(Constants.encodedTypeString(Constants.OBJ_BLOB)); - hash.update((byte) ' '); - hash.update(Constants.encodeASCII(size)); - hash.update((byte) 0); - } - - private ObjectId hash(File f) throws IOException { - SHA1 hash = SHA1.newInstance(); - initHash(hash, f.length()); - try (InputStream input = new FileInputStream(f)) { - byte[] buf = new byte[8192]; - int n; - while ((n = input.read(buf)) >= 0) { - hash.update(buf, 0, n); - } - } - return hash.toObjectId(); - } - - private void checkOid(ObjectId baseId, ObjectId id, ChangeType type, File f, - String path) - throws PatchApplyException, IOException { - boolean hashOk = false; - if (id != null) { - hashOk = baseId.equals(id); - if (!hashOk && ChangeType.ADD.equals(type) - && ObjectId.zeroId().equals(baseId)) { - // We create the file first. The OID of an empty file is not the - // zero id! - hashOk = Constants.EMPTY_BLOB_ID.equals(id); - } - } else { - if (ObjectId.zeroId().equals(baseId)) { - // File empty is OK. - hashOk = !f.exists() || f.length() == 0; - } else { - hashOk = baseId.equals(hash(f)); - } - } - if (!hashOk) { - throw new PatchApplyException(MessageFormat - .format(JGitText.get().applyBinaryBaseOidWrong, path)); - } - } - - private void applyBinary(Repository repository, String path, File f, - FileHeader fh, DirCacheCheckout.StreamSupplier loader, ObjectId id, - CheckoutMetadata checkOut) - throws PatchApplyException, IOException { - if (!fh.getOldId().isComplete() || !fh.getNewId().isComplete()) { - throw new PatchApplyException(MessageFormat - .format(JGitText.get().applyBinaryOidTooShort, path)); - } - BinaryHunk hunk = fh.getForwardBinaryHunk(); - // A BinaryHunk has the start at the "literal" or "delta" token. Data - // starts on the next line. - int start = RawParseUtils.nextLF(hunk.getBuffer(), - hunk.getStartOffset()); - int length = hunk.getEndOffset() - start; - SHA1 hash = SHA1.newInstance(); - // Write to a buffer and copy to the file only if everything was fine - TemporaryBuffer buffer = new TemporaryBuffer.LocalFile(null); - try { - switch (hunk.getType()) { - case LITERAL_DEFLATED: - // This just overwrites the file. We need to check the hash of - // the base. - checkOid(fh.getOldId().toObjectId(), id, fh.getChangeType(), f, - path); - initHash(hash, hunk.getSize()); - try (OutputStream out = buffer; - InputStream inflated = new SHA1InputStream(hash, - new InflaterInputStream( - new BinaryHunkInputStream( - new ByteArrayInputStream( - hunk.getBuffer(), start, - length))))) { - DirCacheCheckout.getContent(repository, path, checkOut, - () -> inflated, null, out); - if (!fh.getNewId().toObjectId().equals(hash.toObjectId())) { - throw new PatchApplyException(MessageFormat.format( - JGitText.get().applyBinaryResultOidWrong, - path)); - } - } - try (InputStream bufIn = buffer.openInputStream()) { - Files.copy(bufIn, f.toPath(), - StandardCopyOption.REPLACE_EXISTING); - } - break; - case DELTA_DEFLATED: - // Unfortunately delta application needs random access to the - // base to construct the result. - byte[] base; - try (InputStream input = loader.load()) { - base = IO.readWholeStream(input, 0).array(); - } - // At least stream the result! - try (BinaryDeltaInputStream input = new BinaryDeltaInputStream( - base, - new InflaterInputStream(new BinaryHunkInputStream( - new ByteArrayInputStream(hunk.getBuffer(), - start, length))))) { - long finalSize = input.getExpectedResultSize(); - initHash(hash, finalSize); - try (OutputStream out = buffer; - SHA1InputStream hashed = new SHA1InputStream(hash, - input)) { - DirCacheCheckout.getContent(repository, path, checkOut, - () -> hashed, null, out); - if (!fh.getNewId().toObjectId() - .equals(hash.toObjectId())) { - throw new PatchApplyException(MessageFormat.format( - JGitText.get().applyBinaryResultOidWrong, - path)); - } - } - } - try (InputStream bufIn = buffer.openInputStream()) { - Files.copy(bufIn, f.toPath(), - StandardCopyOption.REPLACE_EXISTING); - } - break; - default: - break; - } - } finally { - buffer.destroy(); - } - } - - private void applyText(Repository repository, String path, RawText rt, - File f, FileHeader fh, CheckoutMetadata checkOut) - throws IOException, PatchApplyException { - List<ByteBuffer> oldLines = new ArrayList<>(rt.size()); - for (int i = 0; i < rt.size(); i++) { - oldLines.add(rt.getRawString(i)); - } - List<ByteBuffer> newLines = new ArrayList<>(oldLines); - int afterLastHunk = 0; - int lineNumberShift = 0; - int lastHunkNewLine = -1; - for (HunkHeader hh : fh.getHunks()) { - - // We assume hunks to be ordered - if (hh.getNewStartLine() <= lastHunkNewLine) { - throw new PatchApplyException(MessageFormat - .format(JGitText.get().patchApplyException, hh)); - } - lastHunkNewLine = hh.getNewStartLine(); - - byte[] b = new byte[hh.getEndOffset() - hh.getStartOffset()]; - System.arraycopy(hh.getBuffer(), hh.getStartOffset(), b, 0, - b.length); - RawText hrt = new RawText(b); - - List<ByteBuffer> hunkLines = new ArrayList<>(hrt.size()); - for (int i = 0; i < hrt.size(); i++) { - hunkLines.add(hrt.getRawString(i)); - } - - if (hh.getNewStartLine() == 0) { - // Must be the single hunk for clearing all content - if (fh.getHunks().size() == 1 - && canApplyAt(hunkLines, newLines, 0)) { - newLines.clear(); - break; - } - throw new PatchApplyException(MessageFormat - .format(JGitText.get().patchApplyException, hh)); - } - // Hunk lines as reported by the hunk may be off, so don't rely on - // them. - int applyAt = hh.getNewStartLine() - 1 + lineNumberShift; - // But they definitely should not go backwards. - if (applyAt < afterLastHunk && lineNumberShift < 0) { - applyAt = hh.getNewStartLine() - 1; - lineNumberShift = 0; - } - if (applyAt < afterLastHunk) { - throw new PatchApplyException(MessageFormat - .format(JGitText.get().patchApplyException, hh)); - } - boolean applies = false; - int oldLinesInHunk = hh.getLinesContext() - + hh.getOldImage().getLinesDeleted(); - if (oldLinesInHunk <= 1) { - // Don't shift hunks without context lines. Just try the - // position corrected by the current lineNumberShift, and if - // that fails, the position recorded in the hunk header. - applies = canApplyAt(hunkLines, newLines, applyAt); - if (!applies && lineNumberShift != 0) { - applyAt = hh.getNewStartLine() - 1; - applies = applyAt >= afterLastHunk - && canApplyAt(hunkLines, newLines, applyAt); - } - } else { - int maxShift = applyAt - afterLastHunk; - for (int shift = 0; shift <= maxShift; shift++) { - if (canApplyAt(hunkLines, newLines, applyAt - shift)) { - applies = true; - applyAt -= shift; - break; - } - } - if (!applies) { - // Try shifting the hunk downwards - applyAt = hh.getNewStartLine() - 1 + lineNumberShift; - maxShift = newLines.size() - applyAt - oldLinesInHunk; - for (int shift = 1; shift <= maxShift; shift++) { - if (canApplyAt(hunkLines, newLines, applyAt + shift)) { - applies = true; - applyAt += shift; - break; - } - } - } - } - if (!applies) { - throw new PatchApplyException(MessageFormat - .format(JGitText.get().patchApplyException, hh)); - } - // Hunk applies at applyAt. Apply it, and update afterLastHunk and - // lineNumberShift - lineNumberShift = applyAt - hh.getNewStartLine() + 1; - int sz = hunkLines.size(); - for (int j = 1; j < sz; j++) { - ByteBuffer hunkLine = hunkLines.get(j); - if (!hunkLine.hasRemaining()) { - // Completely empty line; accept as empty context line - applyAt++; - continue; - } - switch (hunkLine.array()[hunkLine.position()]) { - case ' ': - applyAt++; - break; - case '-': - newLines.remove(applyAt); - break; - case '+': - newLines.add(applyAt++, slice(hunkLine, 1)); - break; - default: - break; - } - } - afterLastHunk = applyAt; - } - if (!isNoNewlineAtEndOfFile(fh)) { - newLines.add(null); - } - if (!rt.isMissingNewlineAtEnd()) { - oldLines.add(null); - } - if (oldLines.equals(newLines)) { - return; // Unchanged; don't touch the file - } - - TemporaryBuffer buffer = new TemporaryBuffer.LocalFile(null); - try { - try (OutputStream out = buffer) { - for (Iterator<ByteBuffer> l = newLines.iterator(); l - .hasNext();) { - ByteBuffer line = l.next(); - if (line == null) { - // Must be the marker for the final newline - break; - } - out.write(line.array(), line.position(), line.remaining()); - if (l.hasNext()) { - out.write('\n'); - } - } - } - try (OutputStream output = new FileOutputStream(f)) { - DirCacheCheckout.getContent(repository, path, checkOut, - buffer::openInputStream, null, output); - } - } finally { - buffer.destroy(); - } - repository.getFS().setExecute(f, - fh.getNewMode() == FileMode.EXECUTABLE_FILE); - } - - private boolean canApplyAt(List<ByteBuffer> hunkLines, - List<ByteBuffer> newLines, int line) { - int sz = hunkLines.size(); - int limit = newLines.size(); - int pos = line; - for (int j = 1; j < sz; j++) { - ByteBuffer hunkLine = hunkLines.get(j); - if (!hunkLine.hasRemaining()) { - // Empty line. Accept as empty context line. - if (pos >= limit || newLines.get(pos).hasRemaining()) { - return false; - } - pos++; - continue; - } - switch (hunkLine.array()[hunkLine.position()]) { - case ' ': - case '-': - if (pos >= limit - || !newLines.get(pos).equals(slice(hunkLine, 1))) { - return false; - } - pos++; - break; - default: - break; - } - } - return true; - } - - private ByteBuffer slice(ByteBuffer b, int off) { - int newOffset = b.position() + off; - return ByteBuffer.wrap(b.array(), newOffset, b.limit() - newOffset); - } - - private boolean isNoNewlineAtEndOfFile(FileHeader fh) { - List<? extends HunkHeader> hunks = fh.getHunks(); - if (hunks == null || hunks.isEmpty()) { - return false; - } - HunkHeader lastHunk = hunks.get(hunks.size() - 1); - byte[] buf = new byte[lastHunk.getEndOffset() - - lastHunk.getStartOffset()]; - System.arraycopy(lastHunk.getBuffer(), lastHunk.getStartOffset(), buf, - 0, buf.length); - RawText lhrt = new RawText(buf); - return lhrt.getString(lhrt.size() - 1) - .equals("\\ No newline at end of file"); //$NON-NLS-1$ - } - - /** - * An {@link InputStream} that updates a {@link SHA1} on every byte read. - * The hash is supposed to have been initialized before reading starts. - */ - private static class SHA1InputStream extends InputStream { - - private final SHA1 hash; - - private final InputStream in; - - SHA1InputStream(SHA1 hash, InputStream in) { - this.hash = hash; - this.in = in; - } - - @Override - public int read() throws IOException { - int b = in.read(); - if (b >= 0) { - hash.update((byte) b); - } - return b; - } - - @Override - public int read(byte[] b, int off, int len) throws IOException { - int n = in.read(b, off, len); - if (n > 0) { - hash.update(b, off, n); - } - return n; - } - - @Override - public void close() throws IOException { - in.close(); - } - } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java index 1f979a938c..107b00e274 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java @@ -216,16 +216,14 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> { // ignore - the VM is already shutting down } } - if (!noCheckout) { - try { - checkout(repository, fetchResult); - } catch (IOException ioe) { - repository.close(); - throw new JGitInternalException(ioe.getMessage(), ioe); - } catch (GitAPIException | RuntimeException e) { - repository.close(); - throw e; - } + try { + checkout(repository, fetchResult); + } catch (IOException ioe) { + repository.close(); + throw new JGitInternalException(ioe.getMessage(), ioe); + } catch (GitAPIException | RuntimeException e) { + repository.close(); + throw e; } return new Git(repository, true); } @@ -318,7 +316,9 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> { if (depth != null) { command.setDepth(depth.intValue()); } - command.setShallowSince(shallowSince); + if (shallowSince != null) { + command.setShallowSince(shallowSince); + } command.setShallowExcludes(shallowExcludes); configure(command); @@ -391,7 +391,7 @@ public class CloneCommand extends TransportCommand<CloneCommand, Git> { u.setNewObjectId(commit.getId()); u.forceUpdate(); - if (!bare) { + if (!bare && !noCheckout) { DirCache dc = clonedRepo.lockDirCache(); DirCacheCheckout co = new DirCacheCheckout(clonedRepo, dc, commit.getTree()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java index 84bee36204..e7a8be0432 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java @@ -227,7 +227,9 @@ public class FetchCommand extends TransportCommand<FetchCommand, FetchResult> { } transport.setDepth(Constants.INFINITE_DEPTH); } - transport.setDeepenSince(deepenSince); + if (deepenSince != null) { + transport.setDeepenSince(deepenSince); + } transport.setDeepenNots(shallowExcludes); configure(transport); FetchResult result = transport.fetch(monitor, diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java index 08353dfdfa..2ed1c52fd7 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java @@ -11,6 +11,7 @@ package org.eclipse.jgit.api; import java.io.IOException; import java.io.OutputStream; +import java.io.PrintStream; import java.net.URISyntaxException; import java.text.MessageFormat; import java.util.ArrayList; @@ -73,6 +74,11 @@ public class PushCommand extends private boolean atomic; private boolean force; private boolean thin = Transport.DEFAULT_PUSH_THIN; + private boolean useBitmaps = Transport.DEFAULT_PUSH_USE_BITMAPS; + + private PrintStream hookOutRedirect; + + private PrintStream hookErrRedirect; private OutputStream out; @@ -140,6 +146,9 @@ public class PushCommand extends transport.setOptionReceivePack(receivePack); transport.setDryRun(dryRun); transport.setPushOptions(pushOptions); + transport.setPushUseBitmaps(useBitmaps); + transport.setHookOutputStream(hookOutRedirect); + transport.setHookErrorStream(hookErrRedirect); configure(transport); final Collection<RemoteRefUpdate> toPush = transport @@ -305,6 +314,46 @@ public class PushCommand extends } /** + * Sets a {@link PrintStream} a "pre-push" hook may write its stdout to. If + * not set, {@link System#out} will be used. + * <p> + * When pushing to several remote repositories the stream is shared for all + * pushes. + * </p> + * + * @param redirect + * {@link PrintStream} to use; if {@code null}, + * {@link System#out} will be used + * @return {@code this} + * @since 6.4 + */ + public PushCommand setHookOutputStream(PrintStream redirect) { + checkCallable(); + hookOutRedirect = redirect; + return this; + } + + /** + * Sets a {@link PrintStream} a "pre-push" hook may write its stderr to. If + * not set, {@link System#err} will be used. + * <p> + * When pushing to several remote repositories the stream is shared for all + * pushes. + * </p> + * + * @param redirect + * {@link PrintStream} to use; if {@code null}, + * {@link System#err} will be used + * @return {@code this} + * @since 6.4 + */ + public PushCommand setHookErrorStream(PrintStream redirect) { + checkCallable(); + hookErrRedirect = redirect; + return this; + } + + /** * The remote executable providing receive-pack service for pack transports. * If no receive-pack is set, the default value of * <code>RemoteConfig.DEFAULT_RECEIVE_PACK</code> will be used. @@ -576,6 +625,32 @@ public class PushCommand extends } /** + * Whether to use bitmaps for push. + * + * @return true if push use bitmaps. + * @since 6.4 + */ + public boolean isUseBitmaps() { + return useBitmaps; + } + + /** + * Set whether to use bitmaps for push. + * + * Default setting is {@value Transport#DEFAULT_PUSH_USE_BITMAPS} + * + * @param useBitmaps + * false to disable use of bitmaps for push, true otherwise. + * @return {@code this} + * @since 6.4 + */ + public PushCommand setUseBitmaps(boolean useBitmaps) { + checkCallable(); + this.useBitmaps = useBitmaps; + return this; + } + + /** * Whether this push should be executed atomically (all references updated, * or none) * diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java index 964debcccb..d89d689c9e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java @@ -42,7 +42,9 @@ public class JGitText extends TranslationBundle { /***/ public String anExceptionOccurredWhileTryingToAddTheIdOfHEAD; /***/ public String anSSHSessionHasBeenAlreadyCreated; /***/ public String applyBinaryBaseOidWrong; + /***/ public String applyBinaryForInCoreNotSupported; /***/ public String applyBinaryOidTooShort; + /***/ public String applyBinaryPatchTypeNotSupported; /***/ public String applyBinaryResultOidWrong; /***/ public String applyingCommit; /***/ public String archiveFormatAlreadyAbsent; @@ -183,6 +185,7 @@ public class JGitText extends TranslationBundle { /***/ public String connectionTimeOut; /***/ public String contextMustBeNonNegative; /***/ public String cookieFilePathRelative; + /***/ public String copyFileFailedNullFiles; /***/ public String corruptionDetectedReReadingAt; /***/ public String corruptObjectBadDate; /***/ public String corruptObjectBadEmail; @@ -655,6 +658,7 @@ public class JGitText extends TranslationBundle { /***/ public String renameBranchUnexpectedResult; /***/ public String renameCancelled; /***/ public String renameFileFailed; + /***/ public String renameFileFailedNullFiles; /***/ public String renamesAlreadyFound; /***/ public String renamesBreakingModifies; /***/ public String renamesFindingByContent; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java index 7699439128..ff7ef93278 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java @@ -724,14 +724,17 @@ public class ObjectDirectory extends FileObjectDatabase { static class AlternateHandle { static class Id { - String alternateId; + private final String alternateId; public Id(File object) { + String id = null; try { - this.alternateId = object.getCanonicalPath(); - } catch (Exception e) { - alternateId = null; + // resolve symbolic links to their final target: + id = object.toPath().toRealPath().normalize().toString(); + } catch (Exception ignored) { + // id == null } + this.alternateId = id; } @Override @@ -757,6 +760,8 @@ public class ObjectDirectory extends FileObjectDatabase { final ObjectDirectory db; + private AlternateHandle.Id id; + AlternateHandle(ObjectDirectory db) { this.db = db; } @@ -765,8 +770,11 @@ public class ObjectDirectory extends FileObjectDatabase { db.close(); } - public Id getId(){ - return db.getAlternateId(); + public synchronized Id getId() { + if (id == null) { + id = new AlternateHandle.Id(db.objects); + } + return id; } } @@ -795,6 +803,6 @@ public class ObjectDirectory extends FileObjectDatabase { } AlternateHandle.Id getAlternateId() { - return new AlternateHandle.Id(objects); + return handle.getId(); } } 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 59aa5c908e..8653c32282 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 @@ -2245,17 +2245,17 @@ public class PackWriter implements AutoCloseable { int pathHashCode, @NonNull Set<? extends AnyObjectId> want) throws IOException { - // Check if this object needs to be rejected, doing the cheaper - // checks first. - boolean reject = - (!filterSpec.allowsType(type) && !want.contains(src)) || - (filterSpec.getBlobLimit() >= 0 && - type == OBJ_BLOB && - !want.contains(src) && - reader.getObjectSize(src, OBJ_BLOB) > filterSpec.getBlobLimit()); - if (!reject) { - addObject(src, type, pathHashCode); + // Cheaper checks first + if (!filterSpec.allowsType(type) && !want.contains(src)) { + return; + } + + long blobLimit = filterSpec.getBlobLimit(); + if (blobLimit >= 0 && type == OBJ_BLOB && !want.contains(src) + && !reader.isNotLargerThan(src, OBJ_BLOB, blobLimit)) { + return; } + addObject(src, type, pathHashCode); } private boolean exclude(AnyObjectId objectId) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstCommand.java index 3f90080058..c75cf5d618 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstCommand.java @@ -9,12 +9,10 @@ */ package org.eclipse.jgit.internal.transport.parser; -import static java.util.Arrays.asList; -import static java.util.Collections.emptySet; -import static java.util.Collections.unmodifiableSet; -import static java.util.stream.Collectors.toSet; -import java.util.Set; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import org.eclipse.jgit.annotations.NonNull; @@ -34,7 +32,7 @@ import org.eclipse.jgit.annotations.NonNull; */ public final class FirstCommand { private final String line; - private final Set<String> capabilities; + private final Map<String, String> capabilities; /** * Parse the first line of a receive-pack request. @@ -47,16 +45,26 @@ public final class FirstCommand { public static FirstCommand fromLine(String line) { int nul = line.indexOf('\0'); if (nul < 0) { - return new FirstCommand(line, emptySet()); + return new FirstCommand(line, + Collections.<String, String> emptyMap()); } - Set<String> opts = - asList(line.substring(nul + 1).split(" ")) //$NON-NLS-1$ - .stream() - .collect(toSet()); - return new FirstCommand(line.substring(0, nul), unmodifiableSet(opts)); + String[] splitCapablities = line.substring(nul + 1).split(" "); //$NON-NLS-1$ + Map<String, String> options = new HashMap<>(); + + for (String c : splitCapablities) { + int i = c.indexOf("="); //$NON-NLS-1$ + if (i != -1) { + options.put(c.substring(0, i), c.substring(i + 1)); + } else { + options.put(c, null); + } + } + + return new FirstCommand(line.substring(0, nul), + Collections.<String, String> unmodifiableMap(options)); } - private FirstCommand(String line, Set<String> capabilities) { + private FirstCommand(String line, Map<String, String> capabilities) { this.line = line; this.capabilities = capabilities; } @@ -67,9 +75,9 @@ public final class FirstCommand { return line; } - /** @return capabilities parsed from the line, as an immutable set. */ + /** @return capabilities parsed from the line, as an immutable map. */ @NonNull - public Set<String> getCapabilities() { + public Map<String, String> getCapabilities() { return capabilities; } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstWant.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstWant.java index 8138f06452..30d629665f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstWant.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstWant.java @@ -10,6 +10,7 @@ package org.eclipse.jgit.internal.transport.parser; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_AGENT; +import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SESSION_ID; import java.util.Collections; import java.util.HashSet; @@ -43,8 +44,13 @@ public class FirstWant { @Nullable private final String agent; + @Nullable + private final String clientSID; + private static final String AGENT_PREFIX = OPTION_AGENT + '='; + private static final String SESSION_ID_PREFIX = OPTION_SESSION_ID + '='; + /** * Parse the first want line in the protocol v0/v1 pack negotiation. * @@ -58,6 +64,7 @@ public class FirstWant { String wantLine; Set<String> capabilities; String agent = null; + String clientSID = null; if (line.length() > 45) { String opt = line.substring(45); @@ -70,6 +77,9 @@ public class FirstWant { for (String clientCapability : opt.split(" ")) { //$NON-NLS-1$ if (clientCapability.startsWith(AGENT_PREFIX)) { agent = clientCapability.substring(AGENT_PREFIX.length()); + } else if (clientCapability.startsWith(SESSION_ID_PREFIX)) { + clientSID = clientCapability + .substring(SESSION_ID_PREFIX.length()); } else { opts.add(clientCapability); } @@ -81,14 +91,15 @@ public class FirstWant { capabilities = Collections.emptySet(); } - return new FirstWant(wantLine, capabilities, agent); + return new FirstWant(wantLine, capabilities, agent, clientSID); } private FirstWant(String line, Set<String> capabilities, - @Nullable String agent) { + @Nullable String agent, @Nullable String clientSID) { this.line = line; this.capabilities = capabilities; this.agent = agent; + this.clientSID = clientSID; } /** @return non-capabilities part of the line. */ @@ -98,7 +109,7 @@ public class FirstWant { /** * @return capabilities parsed from the line as an immutable set (excluding - * agent). + * agent and session-id). */ public Set<String> getCapabilities() { return capabilities; @@ -109,4 +120,10 @@ public class FirstWant { public String getAgent() { return agent; } + + /** @return client session-id parsed from the line. */ + @Nullable + public String getClientSID() { + return clientSID; + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java index 26c3ff6718..081f40e9db 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java @@ -333,6 +333,39 @@ public abstract class ObjectReader implements AutoCloseable { } /** + * Check if the object size is less or equal than certain value + * + * By default, it reads the object from storage to get the size. Subclasses + * can implement more efficient lookups. + * + * @param objectId + * identity of the object to open. + * @param typeHint + * hint about the type of object being requested, e.g. + * {@link org.eclipse.jgit.lib.Constants#OBJ_BLOB}; + * {@link #OBJ_ANY} if the object type is not known, or does not + * matter to the caller. + * @param size + * threshold value for the size of the object in bytes. + * @return true if the object size is equal or smaller than the threshold + * value + * @throws org.eclipse.jgit.errors.MissingObjectException + * the object does not exist. + * @throws org.eclipse.jgit.errors.IncorrectObjectTypeException + * typeHint was not OBJ_ANY, and the object's actual type does + * not match typeHint. + * @throws java.io.IOException + * the object store cannot be accessed. + * + * @since 6.4 + */ + public boolean isNotLargerThan(AnyObjectId objectId, int typeHint, long size) + throws MissingObjectException, IncorrectObjectTypeException, + IOException { + return open(objectId, typeHint).getSize() <= size; + } + + /** * Asynchronous object size lookup. * * @param objectIds diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/patch/PatchApplier.java b/org.eclipse.jgit/src/org/eclipse/jgit/patch/PatchApplier.java new file mode 100644 index 0000000000..b9bf090848 --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/patch/PatchApplier.java @@ -0,0 +1,999 @@ +/* + * Copyright (C) 2022, Google Inc. and others + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +package org.eclipse.jgit.patch; + +import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; +import java.text.MessageFormat; +import java.time.Instant; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.zip.InflaterInputStream; +import org.eclipse.jgit.annotations.Nullable; +import org.eclipse.jgit.api.errors.FilterFailedException; +import org.eclipse.jgit.api.errors.PatchApplyException; +import org.eclipse.jgit.api.errors.PatchFormatException; +import org.eclipse.jgit.attributes.Attribute; +import org.eclipse.jgit.attributes.Attributes; +import org.eclipse.jgit.attributes.FilterCommand; +import org.eclipse.jgit.attributes.FilterCommandRegistry; +import org.eclipse.jgit.diff.DiffEntry.ChangeType; +import org.eclipse.jgit.diff.RawText; +import org.eclipse.jgit.dircache.DirCache; +import org.eclipse.jgit.dircache.DirCacheBuilder; +import org.eclipse.jgit.dircache.DirCacheCheckout; +import org.eclipse.jgit.dircache.DirCacheCheckout.CheckoutMetadata; +import org.eclipse.jgit.dircache.DirCacheCheckout.StreamSupplier; +import org.eclipse.jgit.dircache.DirCacheEntry; +import org.eclipse.jgit.dircache.DirCacheIterator; +import org.eclipse.jgit.errors.IndexWriteException; +import org.eclipse.jgit.internal.JGitText; +import org.eclipse.jgit.lib.Config; +import org.eclipse.jgit.lib.ConfigConstants; +import org.eclipse.jgit.lib.Constants; +import org.eclipse.jgit.lib.CoreConfig.EolStreamType; +import org.eclipse.jgit.lib.FileMode; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.ObjectInserter; +import org.eclipse.jgit.lib.ObjectLoader; +import org.eclipse.jgit.lib.ObjectReader; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.patch.FileHeader.PatchType; +import org.eclipse.jgit.revwalk.RevTree; +import org.eclipse.jgit.treewalk.FileTreeIterator; +import org.eclipse.jgit.treewalk.TreeWalk; +import org.eclipse.jgit.treewalk.TreeWalk.OperationType; +import org.eclipse.jgit.treewalk.WorkingTreeOptions; +import org.eclipse.jgit.treewalk.filter.AndTreeFilter; +import org.eclipse.jgit.treewalk.filter.NotIgnoredFilter; +import org.eclipse.jgit.treewalk.filter.PathFilterGroup; +import org.eclipse.jgit.util.FS.ExecutionResult; +import org.eclipse.jgit.util.FileUtils; +import org.eclipse.jgit.util.IO; +import org.eclipse.jgit.util.LfsFactory; +import org.eclipse.jgit.util.LfsFactory.LfsInputStream; +import org.eclipse.jgit.util.RawParseUtils; +import org.eclipse.jgit.util.TemporaryBuffer; +import org.eclipse.jgit.util.TemporaryBuffer.LocalFile; +import org.eclipse.jgit.util.io.BinaryDeltaInputStream; +import org.eclipse.jgit.util.io.BinaryHunkInputStream; +import org.eclipse.jgit.util.io.EolStreamTypeUtil; +import org.eclipse.jgit.util.sha1.SHA1; + +/** + * Applies a patch to files and the index. + * <p> + * After instantiating, applyPatch() should be called once. + * </p> + * + * @since 6.4 + */ +public class PatchApplier { + + /** The tree before applying the patch. Only non-null for inCore operation. */ + @Nullable + private final RevTree beforeTree; + + private final Repository repo; + + private final ObjectInserter inserter; + + private final ObjectReader reader; + + private WorkingTreeOptions workingTreeOptions; + + private int inCoreSizeLimit; + + /** + * @param repo + * repository to apply the patch in + */ + public PatchApplier(Repository repo) { + this.repo = repo; + inserter = repo.newObjectInserter(); + reader = inserter.newReader(); + beforeTree = null; + + Config config = repo.getConfig(); + workingTreeOptions = config.get(WorkingTreeOptions.KEY); + inCoreSizeLimit = config.getInt(ConfigConstants.CONFIG_MERGE_SECTION, + ConfigConstants.CONFIG_KEY_IN_CORE_LIMIT, 10 << 20); + } + + /** + * @param repo + * repository to apply the patch in + * @param beforeTree + * ID of the tree to apply the patch in + * @param oi + * to be used for modifying objects + * @throws IOException + * in case of I/O errors + */ + public PatchApplier(Repository repo, RevTree beforeTree, ObjectInserter oi) + throws IOException { + this.repo = repo; + this.beforeTree = beforeTree; + inserter = oi; + reader = oi.newReader(); + } + + /** + * A wrapper for returning both the applied tree ID and the applied files + * list. + * + * @since 6.3 + */ + public static class Result { + + private ObjectId treeId; + + private List<String> paths; + + /** + * @return List of modified paths. + */ + public List<String> getPaths() { + return paths; + } + + /** + * @return The applied tree ID. + */ + public ObjectId getTreeId() { + return treeId; + } + } + + /** + * Applies the given patch + * + * @param patchInput + * the patch to apply. + * @return the result of the patch + * @throws PatchFormatException + * if the patch cannot be parsed + * @throws PatchApplyException + * if the patch cannot be applied + */ + public Result applyPatch(InputStream patchInput) + throws PatchFormatException, PatchApplyException { + Result result = new Result(); + org.eclipse.jgit.patch.Patch p = new org.eclipse.jgit.patch.Patch(); + try (InputStream inStream = patchInput) { + p.parse(inStream); + + if (!p.getErrors().isEmpty()) { + throw new PatchFormatException(p.getErrors()); + } + + DirCache dirCache = (inCore()) ? DirCache.newInCore() + : repo.lockDirCache(); + + DirCacheBuilder dirCacheBuilder = dirCache.builder(); + Set<String> modifiedPaths = new HashSet<>(); + for (org.eclipse.jgit.patch.FileHeader fh : p.getFiles()) { + ChangeType type = fh.getChangeType(); + switch (type) { + case ADD: { + File f = getFile(fh.getNewPath()); + if (f != null) { + try { + FileUtils.mkdirs(f.getParentFile(), true); + FileUtils.createNewFile(f); + } catch (IOException e) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().createNewFileFailed, f), e); + } + } + apply(fh.getNewPath(), dirCache, dirCacheBuilder, f, fh); + } + break; + case MODIFY: + apply(fh.getOldPath(), dirCache, dirCacheBuilder, + getFile(fh.getOldPath()), fh); + break; + case DELETE: + if (!inCore()) { + File old = getFile(fh.getOldPath()); + if (!old.delete()) + throw new PatchApplyException(MessageFormat.format( + JGitText.get().cannotDeleteFile, old)); + } + break; + case RENAME: { + File src = getFile(fh.getOldPath()); + File dest = getFile(fh.getNewPath()); + + if (!inCore()) { + /* + * this is odd: we rename the file on the FS, but + * apply() will write a fresh stream anyway, which will + * overwrite if there were hunks in the patch. + */ + try { + FileUtils.mkdirs(dest.getParentFile(), true); + FileUtils.rename(src, dest, + StandardCopyOption.ATOMIC_MOVE); + } catch (IOException e) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().renameFileFailed, src, dest), + e); + } + } + String pathWithOriginalContent = inCore() ? + fh.getOldPath() : fh.getNewPath(); + apply(pathWithOriginalContent, dirCache, dirCacheBuilder, dest, fh); + break; + } + case COPY: { + File dest = getFile(fh.getNewPath()); + if (!inCore()) { + File src = getFile(fh.getOldPath()); + FileUtils.mkdirs(dest.getParentFile(), true); + Files.copy(src.toPath(), dest.toPath()); + } + apply(fh.getOldPath(), dirCache, dirCacheBuilder, dest, fh); + break; + } + } + if (fh.getChangeType() != ChangeType.DELETE) + modifiedPaths.add(fh.getNewPath()); + if (fh.getChangeType() != ChangeType.COPY + && fh.getChangeType() != ChangeType.ADD) + modifiedPaths.add(fh.getOldPath()); + } + + // We processed the patch. Now add things that weren't changed. + for (int i = 0; i < dirCache.getEntryCount(); i++) { + DirCacheEntry dce = dirCache.getEntry(i); + if (!modifiedPaths.contains(dce.getPathString()) + || dce.getStage() != DirCacheEntry.STAGE_0) + dirCacheBuilder.add(dce); + } + + if (inCore()) + dirCacheBuilder.finish(); + else if (!dirCacheBuilder.commit()) { + throw new IndexWriteException(); + } + + result.treeId = dirCache.writeTree(inserter); + result.paths = modifiedPaths.stream().sorted() + .collect(Collectors.toList()); + } catch (IOException e) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().patchApplyException, e.getMessage()), e); + } + return result; + } + + private File getFile(String path) { + return (inCore()) ? null : new File(repo.getWorkTree(), path); + } + + /* returns null if the path is not found. */ + @Nullable + private TreeWalk getTreeWalkForFile(String path, DirCache cache) + throws PatchApplyException { + try { + if (inCore()) { + // Only this branch may return null. + // TODO: it would be nice if we could return a TreeWalk at EOF + // iso. null. + return TreeWalk.forPath(repo, path, beforeTree); + } + TreeWalk walk = new TreeWalk(repo); + + // Use a TreeWalk with a DirCacheIterator to pick up the correct + // clean/smudge filters. + int cacheTreeIdx = walk.addTree(new DirCacheIterator(cache)); + FileTreeIterator files = new FileTreeIterator(repo); + if (FILE_TREE_INDEX != walk.addTree(files)) + throw new IllegalStateException(); + + walk.setFilter(AndTreeFilter.create( + PathFilterGroup.createFromStrings(path), + new NotIgnoredFilter(FILE_TREE_INDEX))); + walk.setOperationType(OperationType.CHECKIN_OP); + walk.setRecursive(true); + files.setDirCacheIterator(walk, cacheTreeIdx); + return walk; + } catch (IOException e) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().patchApplyException, e.getMessage()), e); + } + } + + private static final int FILE_TREE_INDEX = 1; + + /** + * Applies patch to a single file. + * + * @param pathWithOriginalContent + * The path to use for the pre-image. Also determines CRLF and + * smudge settings. + * @param dirCache + * Dircache to read existing data from. + * @param dirCacheBuilder + * Builder for Dircache to write new data to. + * @param f + * The file to update with new contents. Null for inCore usage. + * @param fh + * The patch header. + * @throws PatchApplyException + */ + private void apply(String pathWithOriginalContent, DirCache dirCache, + DirCacheBuilder dirCacheBuilder, @Nullable File f, + org.eclipse.jgit.patch.FileHeader fh) throws PatchApplyException { + if (PatchType.BINARY.equals(fh.getPatchType())) { + // This patch type just says "something changed". We can't do + // anything with that. + // Maybe this should return an error code, though? + return; + } + try { + TreeWalk walk = getTreeWalkForFile(pathWithOriginalContent, dirCache); + boolean loadedFromTreeWalk = false; + // CR-LF handling is determined by whether the file or the patch + // have CR-LF line endings. + boolean convertCrLf = inCore() || needsCrLfConversion(f, fh); + EolStreamType streamType = convertCrLf ? EolStreamType.TEXT_CRLF + : EolStreamType.DIRECT; + String smudgeFilterCommand = null; + StreamSupplier fileStreamSupplier = null; + ObjectId fileId = ObjectId.zeroId(); + if (walk == null) { + // For new files with inCore()==true, TreeWalk.forPath can be + // null. Stay with defaults. + } else if (inCore()) { + fileId = walk.getObjectId(0); + ObjectLoader loader = LfsFactory.getInstance() + .applySmudgeFilter(repo, reader.open(fileId, OBJ_BLOB), + null); + byte[] data = loader.getBytes(); + convertCrLf = RawText.isCrLfText(data); + fileStreamSupplier = () -> new ByteArrayInputStream(data); + streamType = convertCrLf ? EolStreamType.TEXT_CRLF + : EolStreamType.DIRECT; + smudgeFilterCommand = walk + .getFilterCommand(Constants.ATTR_FILTER_TYPE_SMUDGE); + loadedFromTreeWalk = true; + } else if (walk.next()) { + // If the file on disk has no newline characters, + // convertCrLf will be false. In that case we want to honor the + // normal git settings. + streamType = convertCrLf ? EolStreamType.TEXT_CRLF + : walk.getEolStreamType(OperationType.CHECKOUT_OP); + smudgeFilterCommand = walk + .getFilterCommand(Constants.ATTR_FILTER_TYPE_SMUDGE); + FileTreeIterator file = walk.getTree(FILE_TREE_INDEX, + FileTreeIterator.class); + if (file != null) { + fileId = file.getEntryObjectId(); + fileStreamSupplier = file::openEntryStream; + loadedFromTreeWalk = true; + } else { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().cannotReadFile, + pathWithOriginalContent)); + } + } + + if (fileStreamSupplier == null) + fileStreamSupplier = inCore() ? InputStream::nullInputStream + : () -> new FileInputStream(f); + + FileMode fileMode = fh.getNewMode() != null ? fh.getNewMode() + : FileMode.REGULAR_FILE; + ContentStreamLoader resultStreamLoader; + if (PatchType.GIT_BINARY.equals(fh.getPatchType())) { + // binary patches are processed in a streaming fashion. Some + // binary patches do random access on the input data, so we can't + // overwrite the file while we're streaming. + resultStreamLoader = applyBinary(pathWithOriginalContent, f, fh, + fileStreamSupplier, fileId); + } else { + String filterCommand = walk != null + ? walk.getFilterCommand( + Constants.ATTR_FILTER_TYPE_CLEAN) + : null; + RawText raw = getRawText(f, fileStreamSupplier, fileId, + pathWithOriginalContent, loadedFromTreeWalk, filterCommand, + convertCrLf); + resultStreamLoader = applyText(raw, fh); + } + + if (f != null) { + // Write to a buffer and copy to the file only if everything was + // fine. + TemporaryBuffer buffer = new TemporaryBuffer.LocalFile(null); + try { + CheckoutMetadata metadata = new CheckoutMetadata(streamType, + smudgeFilterCommand); + + try (TemporaryBuffer buf = buffer) { + DirCacheCheckout.getContent(repo, pathWithOriginalContent, + metadata, resultStreamLoader.supplier, workingTreeOptions, + buf); + } + try (InputStream bufIn = buffer.openInputStream()) { + Files.copy(bufIn, f.toPath(), + StandardCopyOption.REPLACE_EXISTING); + } + } finally { + buffer.destroy(); + } + + repo.getFS().setExecute(f, + fileMode == FileMode.EXECUTABLE_FILE); + } + + Instant lastModified = f == null ? null + : repo.getFS().lastModifiedInstant(f); + Attributes attributes = walk != null ? walk.getAttributes() + : new Attributes(); + + DirCacheEntry dce = insertToIndex( + resultStreamLoader.supplier.load(), + fh.getNewPath().getBytes(StandardCharsets.UTF_8), fileMode, + lastModified, resultStreamLoader.length, + attributes.get(Constants.ATTR_FILTER)); + dirCacheBuilder.add(dce); + if (PatchType.GIT_BINARY.equals(fh.getPatchType()) + && fh.getNewId() != null && fh.getNewId().isComplete() + && !fh.getNewId().toObjectId().equals(dce.getObjectId())) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().applyBinaryResultOidWrong, + pathWithOriginalContent)); + } + } catch (IOException | UnsupportedOperationException e) { + throw new PatchApplyException(MessageFormat.format( + JGitText.get().patchApplyException, e.getMessage()), e); + } + } + + private DirCacheEntry insertToIndex(InputStream input, byte[] path, + FileMode fileMode, Instant lastModified, long length, + Attribute lfsAttribute) throws IOException { + DirCacheEntry dce = new DirCacheEntry(path, DirCacheEntry.STAGE_0); + dce.setFileMode(fileMode); + if (lastModified != null) { + dce.setLastModified(lastModified); + } + dce.setLength(length); + + try (LfsInputStream is = org.eclipse.jgit.util.LfsFactory.getInstance() + .applyCleanFilter(repo, input, length, lfsAttribute)) { + dce.setObjectId(inserter.insert(OBJ_BLOB, is.getLength(), is)); + } + + return dce; + } + + /** + * Gets the raw text of the given file. + * + * @param file + * to read from + * @param fileStreamSupplier + * if fromTreewalk, the stream of the file content + * @param fileId + * of the file + * @param path + * of the file + * @param fromTreeWalk + * whether the file was loaded by a {@link TreeWalk} + * @param filterCommand + * for reading the file content + * @param convertCrLf + * whether a CR-LF conversion is needed + * @return the result raw text + * @throws IOException + * in case of filtering issues + */ + private RawText getRawText(@Nullable File file, + StreamSupplier fileStreamSupplier, ObjectId fileId, String path, + boolean fromTreeWalk, String filterCommand, boolean convertCrLf) + throws IOException { + if (fromTreeWalk) { + // Can't use file.openEntryStream() as we cannot control its CR-LF + // conversion. + try (InputStream input = filterClean(repo, path, + fileStreamSupplier.load(), convertCrLf, filterCommand)) { + return new RawText(org.eclipse.jgit.util.IO + .readWholeStream(input, 0).array()); + } + } + if (convertCrLf) { + try (InputStream input = EolStreamTypeUtil.wrapInputStream( + fileStreamSupplier.load(), EolStreamType.TEXT_LF)) { + return new RawText(org.eclipse.jgit.util.IO + .readWholeStream(input, 0).array()); + } + } + if (inCore() && fileId.equals(ObjectId.zeroId())) { + return new RawText(new byte[] {}); + } + return new RawText(file); + } + + private InputStream filterClean(Repository repository, String path, + InputStream fromFile, boolean convertCrLf, String filterCommand) + throws IOException { + InputStream input = fromFile; + if (convertCrLf) { + input = EolStreamTypeUtil.wrapInputStream(input, + EolStreamType.TEXT_LF); + } + if (org.eclipse.jgit.util.StringUtils.isEmptyOrNull(filterCommand)) { + return input; + } + if (FilterCommandRegistry.isRegistered(filterCommand)) { + LocalFile buffer = new org.eclipse.jgit.util.TemporaryBuffer.LocalFile( + null, inCoreSizeLimit); + FilterCommand command = FilterCommandRegistry.createFilterCommand( + filterCommand, repository, input, buffer); + while (command.run() != -1) { + // loop as long as command.run() tells there is work to do + } + return buffer.openInputStreamWithAutoDestroy(); + } + org.eclipse.jgit.util.FS fs = repository.getFS(); + ProcessBuilder filterProcessBuilder = fs.runInShell(filterCommand, + new String[0]); + filterProcessBuilder.directory(repository.getWorkTree()); + filterProcessBuilder.environment().put(Constants.GIT_DIR_KEY, + repository.getDirectory().getAbsolutePath()); + ExecutionResult result; + try { + result = fs.execute(filterProcessBuilder, input); + } catch (IOException | InterruptedException e) { + throw new IOException( + new FilterFailedException(e, filterCommand, path)); + } + int rc = result.getRc(); + if (rc != 0) { + throw new IOException(new FilterFailedException(rc, filterCommand, + path, result.getStdout().toByteArray(4096), + org.eclipse.jgit.util.RawParseUtils + .decode(result.getStderr().toByteArray(4096)))); + } + return result.getStdout().openInputStreamWithAutoDestroy(); + } + + private boolean needsCrLfConversion(File f, + org.eclipse.jgit.patch.FileHeader fileHeader) throws IOException { + if (PatchType.GIT_BINARY.equals(fileHeader.getPatchType())) { + return false; + } + if (!hasCrLf(fileHeader)) { + try (InputStream input = new FileInputStream(f)) { + return RawText.isCrLfText(input); + } + } + return false; + } + + private static boolean hasCrLf( + org.eclipse.jgit.patch.FileHeader fileHeader) { + if (PatchType.GIT_BINARY.equals(fileHeader.getPatchType())) { + return false; + } + for (org.eclipse.jgit.patch.HunkHeader header : fileHeader.getHunks()) { + byte[] buf = header.getBuffer(); + int hunkEnd = header.getEndOffset(); + int lineStart = header.getStartOffset(); + while (lineStart < hunkEnd) { + int nextLineStart = RawParseUtils.nextLF(buf, lineStart); + if (nextLineStart > hunkEnd) { + nextLineStart = hunkEnd; + } + if (nextLineStart <= lineStart) { + break; + } + if (nextLineStart - lineStart > 1) { + char first = (char) (buf[lineStart] & 0xFF); + if (first == ' ' || first == '-') { + // It's an old line. Does it end in CR-LF? + if (buf[nextLineStart - 2] == '\r') { + return true; + } + } + } + lineStart = nextLineStart; + } + } + return false; + } + + private ObjectId hash(File f) throws IOException { + try (FileInputStream fis = new FileInputStream(f); + SHA1InputStream shaStream = new SHA1InputStream(fis, + f.length())) { + shaStream.transferTo(OutputStream.nullOutputStream()); + return shaStream.getHash().toObjectId(); + } + } + + private void checkOid(ObjectId baseId, ObjectId id, ChangeType type, File f, + String path) throws PatchApplyException, IOException { + boolean hashOk = false; + if (id != null) { + hashOk = baseId.equals(id); + if (!hashOk && ChangeType.ADD.equals(type) + && ObjectId.zeroId().equals(baseId)) { + // We create a new file. The OID of an empty file is not the + // zero id! + hashOk = Constants.EMPTY_BLOB_ID.equals(id); + } + } else if (!inCore()) { + if (ObjectId.zeroId().equals(baseId)) { + // File empty is OK. + hashOk = !f.exists() || f.length() == 0; + } else { + hashOk = baseId.equals(hash(f)); + } + } + if (!hashOk) { + throw new PatchApplyException(MessageFormat + .format(JGitText.get().applyBinaryBaseOidWrong, path)); + } + } + + private boolean inCore() { + return beforeTree != null; + } + + /** + * Provide stream, along with the length of the object. We use this once to + * patch to the working tree, once to write the index. For on-disk + * operation, presumably we could stream to the destination file, and then + * read back the stream from disk. We don't because it is more complex. + */ + private static class ContentStreamLoader { + + StreamSupplier supplier; + + long length; + + ContentStreamLoader(StreamSupplier supplier, long length) { + this.supplier = supplier; + this.length = length; + } + } + + /** + * Applies a binary patch. + * + * @param path + * pathname of the file to write. + * @param f + * destination file + * @param fh + * the patch to apply + * @param inputSupplier + * a supplier for the contents of the old file + * @param id + * SHA1 for the old content + * @return a loader for the new content. + * @throws PatchApplyException + * @throws IOException + * @throws UnsupportedOperationException + */ + private ContentStreamLoader applyBinary(String path, File f, + org.eclipse.jgit.patch.FileHeader fh, StreamSupplier inputSupplier, + ObjectId id) throws PatchApplyException, IOException, + UnsupportedOperationException { + if (!fh.getOldId().isComplete() || !fh.getNewId().isComplete()) { + throw new PatchApplyException(MessageFormat + .format(JGitText.get().applyBinaryOidTooShort, path)); + } + org.eclipse.jgit.patch.BinaryHunk hunk = fh.getForwardBinaryHunk(); + // A BinaryHunk has the start at the "literal" or "delta" token. Data + // starts on the next line. + int start = RawParseUtils.nextLF(hunk.getBuffer(), + hunk.getStartOffset()); + int length = hunk.getEndOffset() - start; + switch (hunk.getType()) { + case LITERAL_DEFLATED: { + // This just overwrites the file. We need to check the hash of + // the base. + checkOid(fh.getOldId().toObjectId(), id, fh.getChangeType(), f, + path); + StreamSupplier supp = () -> new InflaterInputStream( + new BinaryHunkInputStream(new ByteArrayInputStream( + hunk.getBuffer(), start, length))); + return new ContentStreamLoader(supp, hunk.getSize()); + } + case DELTA_DEFLATED: { + // Unfortunately delta application needs random access to the + // base to construct the result. + byte[] base; + try (InputStream in = inputSupplier.load()) { + base = IO.readWholeStream(in, 0).array(); + } + // At least stream the result! We don't have to close these streams, + // as they don't hold resources. + StreamSupplier supp = () -> new BinaryDeltaInputStream(base, + new InflaterInputStream( + new BinaryHunkInputStream(new ByteArrayInputStream( + hunk.getBuffer(), start, length)))); + + // This just reads the first bits of the stream. + long finalSize = ((BinaryDeltaInputStream) supp.load()).getExpectedResultSize(); + + return new ContentStreamLoader(supp, finalSize); + } + default: + throw new UnsupportedOperationException(MessageFormat.format( + JGitText.get().applyBinaryPatchTypeNotSupported, + hunk.getType().name())); + } + } + + private ContentStreamLoader applyText(RawText rt, + org.eclipse.jgit.patch.FileHeader fh) + throws IOException, PatchApplyException { + List<ByteBuffer> oldLines = new ArrayList<>(rt.size()); + for (int i = 0; i < rt.size(); i++) { + oldLines.add(rt.getRawString(i)); + } + List<ByteBuffer> newLines = new ArrayList<>(oldLines); + int afterLastHunk = 0; + int lineNumberShift = 0; + int lastHunkNewLine = -1; + for (org.eclipse.jgit.patch.HunkHeader hh : fh.getHunks()) { + // We assume hunks to be ordered + if (hh.getNewStartLine() <= lastHunkNewLine) { + throw new PatchApplyException(MessageFormat + .format(JGitText.get().patchApplyException, hh)); + } + lastHunkNewLine = hh.getNewStartLine(); + + byte[] b = new byte[hh.getEndOffset() - hh.getStartOffset()]; + System.arraycopy(hh.getBuffer(), hh.getStartOffset(), b, 0, + b.length); + RawText hrt = new RawText(b); + + List<ByteBuffer> hunkLines = new ArrayList<>(hrt.size()); + for (int i = 0; i < hrt.size(); i++) { + hunkLines.add(hrt.getRawString(i)); + } + + if (hh.getNewStartLine() == 0) { + // Must be the single hunk for clearing all content + if (fh.getHunks().size() == 1 + && canApplyAt(hunkLines, newLines, 0)) { + newLines.clear(); + break; + } + throw new PatchApplyException(MessageFormat + .format(JGitText.get().patchApplyException, hh)); + } + // Hunk lines as reported by the hunk may be off, so don't rely on + // them. + int applyAt = hh.getNewStartLine() - 1 + lineNumberShift; + // But they definitely should not go backwards. + if (applyAt < afterLastHunk && lineNumberShift < 0) { + applyAt = hh.getNewStartLine() - 1; + lineNumberShift = 0; + } + if (applyAt < afterLastHunk) { + throw new PatchApplyException(MessageFormat + .format(JGitText.get().patchApplyException, hh)); + } + boolean applies = false; + int oldLinesInHunk = hh.getLinesContext() + + hh.getOldImage().getLinesDeleted(); + if (oldLinesInHunk <= 1) { + // Don't shift hunks without context lines. Just try the + // position corrected by the current lineNumberShift, and if + // that fails, the position recorded in the hunk header. + applies = canApplyAt(hunkLines, newLines, applyAt); + if (!applies && lineNumberShift != 0) { + applyAt = hh.getNewStartLine() - 1; + applies = applyAt >= afterLastHunk + && canApplyAt(hunkLines, newLines, applyAt); + } + } else { + int maxShift = applyAt - afterLastHunk; + for (int shift = 0; shift <= maxShift; shift++) { + if (canApplyAt(hunkLines, newLines, applyAt - shift)) { + applies = true; + applyAt -= shift; + break; + } + } + if (!applies) { + // Try shifting the hunk downwards + applyAt = hh.getNewStartLine() - 1 + lineNumberShift; + maxShift = newLines.size() - applyAt - oldLinesInHunk; + for (int shift = 1; shift <= maxShift; shift++) { + if (canApplyAt(hunkLines, newLines, applyAt + shift)) { + applies = true; + applyAt += shift; + break; + } + } + } + } + if (!applies) { + throw new PatchApplyException(MessageFormat + .format(JGitText.get().patchApplyException, hh)); + } + // Hunk applies at applyAt. Apply it, and update afterLastHunk and + // lineNumberShift + lineNumberShift = applyAt - hh.getNewStartLine() + 1; + int sz = hunkLines.size(); + for (int j = 1; j < sz; j++) { + ByteBuffer hunkLine = hunkLines.get(j); + if (!hunkLine.hasRemaining()) { + // Completely empty line; accept as empty context line + applyAt++; + continue; + } + switch (hunkLine.array()[hunkLine.position()]) { + case ' ': + applyAt++; + break; + case '-': + newLines.remove(applyAt); + break; + case '+': + newLines.add(applyAt++, slice(hunkLine, 1)); + break; + default: + break; + } + } + afterLastHunk = applyAt; + } + if (!isNoNewlineAtEndOfFile(fh)) { + newLines.add(null); + } + if (!rt.isMissingNewlineAtEnd()) { + oldLines.add(null); + } + + // We could check if old == new, but the short-circuiting complicates + // logic for inCore patching, so just write the new thing regardless. + TemporaryBuffer buffer = new TemporaryBuffer.LocalFile(null); + try (OutputStream out = buffer) { + for (Iterator<ByteBuffer> l = newLines.iterator(); l.hasNext();) { + ByteBuffer line = l.next(); + if (line == null) { + // Must be the marker for the final newline + break; + } + out.write(line.array(), line.position(), line.remaining()); + if (l.hasNext()) { + out.write('\n'); + } + } + return new ContentStreamLoader(buffer::openInputStream, + buffer.length()); + } + } + + private boolean canApplyAt(List<ByteBuffer> hunkLines, + List<ByteBuffer> newLines, int line) { + int sz = hunkLines.size(); + int limit = newLines.size(); + int pos = line; + for (int j = 1; j < sz; j++) { + ByteBuffer hunkLine = hunkLines.get(j); + if (!hunkLine.hasRemaining()) { + // Empty line. Accept as empty context line. + if (pos >= limit || newLines.get(pos).hasRemaining()) { + return false; + } + pos++; + continue; + } + switch (hunkLine.array()[hunkLine.position()]) { + case ' ': + case '-': + if (pos >= limit + || !newLines.get(pos).equals(slice(hunkLine, 1))) { + return false; + } + pos++; + break; + default: + break; + } + } + return true; + } + + private ByteBuffer slice(ByteBuffer b, int off) { + int newOffset = b.position() + off; + return ByteBuffer.wrap(b.array(), newOffset, b.limit() - newOffset); + } + + private boolean isNoNewlineAtEndOfFile( + org.eclipse.jgit.patch.FileHeader fh) { + List<? extends org.eclipse.jgit.patch.HunkHeader> hunks = fh.getHunks(); + if (hunks == null || hunks.isEmpty()) { + return false; + } + org.eclipse.jgit.patch.HunkHeader lastHunk = hunks + .get(hunks.size() - 1); + byte[] buf = new byte[lastHunk.getEndOffset() + - lastHunk.getStartOffset()]; + System.arraycopy(lastHunk.getBuffer(), lastHunk.getStartOffset(), buf, + 0, buf.length); + RawText lhrt = new RawText(buf); + return lhrt.getString(lhrt.size() - 1) + .equals("\\ No newline at end of file"); // $NON-NLS-1$, + // $NON-NLS-2$ + } + + /** + * An {@link InputStream} that updates a {@link SHA1} on every byte read. + */ + private static class SHA1InputStream extends InputStream { + + private final SHA1 hash; + + private final InputStream in; + + SHA1InputStream(InputStream in, long size) { + hash = SHA1.newInstance(); + hash.update(Constants.encodedTypeString(Constants.OBJ_BLOB)); + hash.update((byte) ' '); + hash.update(Constants.encodeASCII(size)); + hash.update((byte) 0); + this.in = in; + } + + public SHA1 getHash() { + return hash; + } + + @Override + public int read() throws IOException { + int b = in.read(); + if (b >= 0) { + hash.update((byte) b); + } + return b; + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + int n = in.read(b, off, len); + if (n > 0) { + hash.update(b, off, n); + } + return n; + } + + @Override + public void close() throws IOException { + in.close(); + } + } +} diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java index 81a70af2d2..4fec5da78f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java @@ -115,7 +115,7 @@ public class AmazonS3 { for (String v : list) { if (s.length() > 0) s.append(','); - s.append(v.replaceAll("\n", "").trim()); //$NON-NLS-1$ //$NON-NLS-2$ + s.append(v.replace("\n", "").trim()); //$NON-NLS-1$ //$NON-NLS-2$ } return s.toString(); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java index b7be59d6f8..adc1c9849d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java @@ -90,6 +90,7 @@ public abstract class BasePackPushConnection extends BasePackConnection implemen private final boolean thinPack; private final boolean atomic; + private final boolean useBitmaps; /** A list of option strings associated with this push. */ private List<String> pushOptions; @@ -118,6 +119,7 @@ public abstract class BasePackPushConnection extends BasePackConnection implemen thinPack = transport.isPushThin(); atomic = transport.isPushAtomic(); pushOptions = transport.getPushOptions(); + useBitmaps = transport.isPushUseBitmaps(); } /** {@inheritDoc} */ @@ -320,7 +322,7 @@ public abstract class BasePackPushConnection extends BasePackConnection implemen writer.setIndexDisabled(true); writer.setUseCachedPacks(true); - writer.setUseBitmaps(true); + writer.setUseBitmaps(useBitmaps); writer.setThin(thinPack); writer.setReuseValidatingObjects(false); writer.setDeltaBaseAsOffset(capableOfsDelta); @@ -421,6 +423,16 @@ public abstract class BasePackPushConnection extends BasePackConnection implemen return pushOptions; } + /** + * Whether to use bitmaps for push. + * + * @return true if push use bitmaps. + * @since 6.4 + */ + public boolean isUseBitmaps() { + return useBitmaps; + } + private static class CheckingSideBandOutputStream extends OutputStream { private final InputStream in; private final OutputStream out; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java index 0663c5141c..009a70b7b3 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java @@ -40,6 +40,9 @@ abstract class FetchRequest { @Nullable final String agent; + @Nullable + final String clientSID; + /** * Initialize the common fields of a fetch request. * @@ -61,12 +64,15 @@ abstract class FetchRequest { * specific time, instead of depth * @param agent * agent as reported by the client in the request body + * @param clientSID + * agent as reported by the client in the request body */ FetchRequest(@NonNull Set<ObjectId> wantIds, int depth, @NonNull Set<ObjectId> clientShallowCommits, @NonNull FilterSpec filterSpec, @NonNull Set<String> clientCapabilities, int deepenSince, - @NonNull List<String> deepenNots, @Nullable String agent) { + @NonNull List<String> deepenNots, @Nullable String agent, + @Nullable String clientSID) { this.wantIds = requireNonNull(wantIds); this.depth = depth; this.clientShallowCommits = requireNonNull(clientShallowCommits); @@ -75,6 +81,7 @@ abstract class FetchRequest { this.deepenSince = deepenSince; this.deepenNots = requireNonNull(deepenNots); this.agent = agent; + this.clientSID = clientSID; } /** @@ -160,4 +167,13 @@ abstract class FetchRequest { String getAgent() { return agent; } + + /** + * @return string identifying the client session ID (as sent in the request body by the + * client) + */ + @Nullable + String getClientSID() { + return clientSID; + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java index 4decb79513..ca3639d03c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java @@ -30,9 +30,11 @@ final class FetchV0Request extends FetchRequest { @NonNull Set<ObjectId> clientShallowCommits, @NonNull FilterSpec filterSpec, @NonNull Set<String> clientCapabilities, int deepenSince, - @NonNull List<String> deepenNotRefs, @Nullable String agent) { + @NonNull List<String> deepenNotRefs, @Nullable String agent, + @Nullable String clientSID) { super(wantIds, depth, clientShallowCommits, filterSpec, - clientCapabilities, deepenSince, deepenNotRefs, agent); + clientCapabilities, deepenSince, deepenNotRefs, agent, + clientSID); } static final class Builder { @@ -53,6 +55,8 @@ final class FetchV0Request extends FetchRequest { String agent; + String clientSID; + /** * @param objectId * object id received in a "want" line @@ -149,6 +153,16 @@ final class FetchV0Request extends FetchRequest { } /** + * @param clientSID + * session-id line sent by the client in the request body + * @return this builder + */ + Builder setClientSID(String clientSID) { + this.clientSID = clientSID; + return this; + } + + /** * @param filter * the filter set in a filter line * @return this builder @@ -160,7 +174,8 @@ final class FetchV0Request extends FetchRequest { FetchV0Request build() { return new FetchV0Request(wantIds, depth, clientShallowCommits, - filterSpec, clientCaps, deepenSince, deepenNots, agent); + filterSpec, clientCaps, deepenSince, deepenNots, agent, + clientSID); } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java index 446a3bcc79..3d4f38131c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java @@ -55,10 +55,11 @@ public final class FetchV2Request extends FetchRequest { boolean doneReceived, boolean waitForDone, @NonNull Set<String> clientCapabilities, @Nullable String agent, @NonNull List<String> serverOptions, - boolean sidebandAll, @NonNull List<String> packfileUriProtocols) { + boolean sidebandAll, @NonNull List<String> packfileUriProtocols, + @Nullable String clientSID) { super(wantIds, depth, clientShallowCommits, filterSpec, clientCapabilities, deepenSince, - deepenNots, agent); + deepenNots, agent, clientSID); this.peerHas = requireNonNull(peerHas); this.wantedRefs = requireNonNull(wantedRefs); this.doneReceived = doneReceived; @@ -101,7 +102,7 @@ public final class FetchV2Request extends FetchRequest { } /** - * Options received in server-option lines. The caller can choose to act on + * Options received in server-option lines. The caller can choose to act on * these in an application-specific way * * @return Immutable list of server options received in the request @@ -157,6 +158,9 @@ public final class FetchV2Request extends FetchRequest { @Nullable String agent; + @Nullable + String clientSID; + final List<String> serverOptions = new ArrayList<>(); boolean sidebandAll; @@ -317,6 +321,17 @@ public final class FetchV2Request extends FetchRequest { } /** + * @param clientSIDValue + * the client-supplied session capability, without the + * leading "session-id=" + * @return this builder + */ + Builder setClientSID(@Nullable String clientSIDValue) { + clientSID = clientSIDValue; + return this; + } + + /** * Records an application-specific option supplied in a server-option * line, for later retrieval with * {@link FetchV2Request#getServerOptions}. @@ -354,7 +369,8 @@ public final class FetchV2Request extends FetchRequest { depth, filterSpec, doneReceived, waitForDone, clientCapabilities, agent, Collections.unmodifiableList(serverOptions), sidebandAll, - Collections.unmodifiableList(packfileUriProtocols)); + Collections.unmodifiableList(packfileUriProtocols), + clientSID); } } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java index be14e92d07..7e5179d71d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java @@ -248,6 +248,13 @@ public final class GitProtocolConstants { public static final String OPTION_SERVER_OPTION = "server-option"; //$NON-NLS-1$ /** + * Option for passing client session ID to the server. + * + * @since 6.4 + */ + public static final String OPTION_SESSION_ID = "session-id"; //$NON-NLS-1$ + + /** * The server supports listing refs using protocol v2. * * @since 5.0 diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/LsRefsV2Request.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/LsRefsV2Request.java index f68d9c8135..856047ee19 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/LsRefsV2Request.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/LsRefsV2Request.java @@ -36,17 +36,21 @@ public final class LsRefsV2Request { @Nullable private final String agent; + private final String clientSID; + @NonNull private final List<String> serverOptions; private LsRefsV2Request(List<String> refPrefixes, boolean symrefs, boolean peel, @Nullable String agent, - @NonNull List<String> serverOptions) { + @NonNull List<String> serverOptions, + @Nullable String clientSID) { this.refPrefixes = refPrefixes; this.symrefs = symrefs; this.peel = peel; this.agent = agent; this.serverOptions = requireNonNull(serverOptions); + this.clientSID = clientSID; } /** @return ref prefixes that the client requested. */ @@ -75,6 +79,16 @@ public final class LsRefsV2Request { } /** + * @return session-id as reported by the client + * + * @since 6.4 + */ + @Nullable + public String getClientSID() { + return clientSID; + } + + /** * Get application-specific options provided by the client using * --server-option. * <p> @@ -109,6 +123,8 @@ public final class LsRefsV2Request { private String agent; + private String clientSID; + private Builder() { } @@ -171,11 +187,28 @@ public final class LsRefsV2Request { return this; } + /** + * Value of a session-id line received after the command and before the + * arguments. E.g. "session-id=a.b.c" should set "a.b.c". + * + * @param value + * the client-supplied session-id capability, without leading + * "session-id=" + * @return this builder + * + * @since 6.4 + */ + public Builder setClientSID(@Nullable String value) { + clientSID = value; + return this; + } + /** @return LsRefsV2Request */ public LsRefsV2Request build() { return new LsRefsV2Request( Collections.unmodifiableList(refPrefixes), symrefs, peel, - agent, Collections.unmodifiableList(serverOptions)); + agent, Collections.unmodifiableList(serverOptions), + clientSID); } } } 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 e43ea0261e..d9669044c7 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java @@ -658,7 +658,8 @@ public abstract class PackParser { } byte[] delta = inflateAndReturn(Source.DATABASE, info.size); - checkIfTooLarge(type, BinaryDelta.getResultSize(delta)); + long finalSz = BinaryDelta.getResultSize(delta); + checkIfTooLarge(type, finalSz); visit.data = BinaryDelta.apply(visit.parent.data, delta); delta = null; @@ -684,6 +685,7 @@ public abstract class PackParser { PackedObjectInfo oe; oe = newInfo(tempObjectId, visit.delta, visit.parent.id); + oe.setFullSize(finalSz); oe.setOffset(visit.delta.position); oe.setType(type); onInflatedObjectData(oe, type, visit.data); @@ -861,6 +863,7 @@ public abstract class PackParser { final int typeCode = ldr.getType(); final PackedObjectInfo oe = newInfo(baseId, null, null); oe.setType(typeCode); + oe.setFullSize(ldr.getSize()); if (onAppendBase(typeCode, visit.data, oe)) entries[entryCount++] = oe; visit.nextChild = firstChildOf(oe); @@ -1078,6 +1081,7 @@ public abstract class PackParser { obj.setOffset(pos); obj.setType(type); obj.setSize(sizeBeforeInflating); + obj.setFullSize(sz); onEndWholeObject(obj); if (data != null) onInflatedObjectData(obj, type, data); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackedObjectInfo.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackedObjectInfo.java index fe1209b6af..bf7997ec62 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackedObjectInfo.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/PackedObjectInfo.java @@ -31,6 +31,8 @@ public class PackedObjectInfo extends ObjectIdOwnerMap.Entry { private long sizeBeforeInflating; + private long fullSize; + PackedObjectInfo(final long headerOffset, final int packedCRC, final AnyObjectId id) { super(id); @@ -111,11 +113,45 @@ public class PackedObjectInfo extends ObjectIdOwnerMap.Entry { this.type = type; } + /** + * Size in storage + * + * @param sizeBeforeInflating + */ void setSize(long sizeBeforeInflating) { this.sizeBeforeInflating = sizeBeforeInflating; } + /** + * Size in storage (maybe deflated and/or deltified). + * + * This is the size in storage. In packs, this is the bytes used by the + * object contents (themselves or as deltas) compressed by zlib (deflated). + * + * @return size in storage + */ long getSize() { return sizeBeforeInflating; } + + /** + * Real (materialized) size of the object (inflated, undeltified) + * + * @param size + * size of the object in bytes, without compressing nor + * deltifying + * @since 6.4 + */ + public void setFullSize(long size) { + this.fullSize = size; + } + + /** + * @return size of the object (inflated, undeltified) + * + * @since 6.4 + */ + public long getFullSize() { + return fullSize; + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV0Parser.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV0Parser.java index 21a492577f..9d055519a5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV0Parser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV0Parser.java @@ -152,6 +152,7 @@ final class ProtocolV0Parser { FirstWant firstLine = FirstWant.fromLine(line); reqBuilder.addClientCapabilities(firstLine.getCapabilities()); reqBuilder.setAgent(firstLine.getAgent()); + reqBuilder.setClientSID(firstLine.getClientSID()); line = firstLine.getLine(); } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV2Parser.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV2Parser.java index b38deb69c0..c4129ff4d0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV2Parser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV2Parser.java @@ -20,6 +20,7 @@ import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SIDEBAND_AL import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SIDE_BAND_64K; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_THIN_PACK; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_WAIT_FOR_DONE; +import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SESSION_ID; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_DEEPEN; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_DEEPEN_NOT; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_DEEPEN_SINCE; @@ -63,10 +64,12 @@ final class ProtocolV2Parser { */ private static String consumeCapabilities(PacketLineIn pckIn, Consumer<String> serverOptionConsumer, - Consumer<String> agentConsumer) throws IOException { + Consumer<String> agentConsumer, + Consumer<String> clientSIDConsumer) throws IOException { String serverOptionPrefix = OPTION_SERVER_OPTION + '='; String agentPrefix = OPTION_AGENT + '='; + String clientSIDPrefix = OPTION_SESSION_ID + '='; String line = pckIn.readString(); while (!PacketLineIn.isDelimiter(line) && !PacketLineIn.isEnd(line)) { @@ -75,6 +78,9 @@ final class ProtocolV2Parser { .accept(line.substring(serverOptionPrefix.length())); } else if (line.startsWith(agentPrefix)) { agentConsumer.accept(line.substring(agentPrefix.length())); + } else if (line.startsWith(clientSIDPrefix)) { + clientSIDConsumer + .accept(line.substring(clientSIDPrefix.length())); } else { // Unrecognized capability. Ignore it. } @@ -108,7 +114,8 @@ final class ProtocolV2Parser { String line = consumeCapabilities(pckIn, serverOption -> reqBuilder.addServerOption(serverOption), - agent -> reqBuilder.setAgent(agent)); + agent -> reqBuilder.setAgent(agent), + clientSID -> reqBuilder.setClientSID(clientSID)); if (PacketLineIn.isEnd(line)) { return reqBuilder.build(); @@ -235,7 +242,8 @@ final class ProtocolV2Parser { String line = consumeCapabilities(pckIn, serverOption -> builder.addServerOption(serverOption), - agent -> builder.setAgent(agent)); + agent -> builder.setAgent(agent), + clientSID -> builder.setClientSID(clientSID)); if (PacketLineIn.isEnd(line)) { return builder.build(); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java index b70eedca63..816cec89af 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java @@ -22,6 +22,7 @@ import static org.eclipse.jgit.transport.GitProtocolConstants.CAPABILITY_SIDE_BA import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_AGENT; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_ERR; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_SHALLOW; +import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SESSION_ID; import static org.eclipse.jgit.transport.SideBandOutputStream.CH_DATA; import static org.eclipse.jgit.transport.SideBandOutputStream.CH_ERROR; import static org.eclipse.jgit.transport.SideBandOutputStream.CH_PROGRESS; @@ -35,6 +36,7 @@ import java.io.UncheckedIOException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -113,7 +115,15 @@ public class ReceivePack { /** @return capabilities parsed from the line. */ public Set<String> getCapabilities() { - return command.getCapabilities(); + Set<String> reconstructedCapabilites = new HashSet<>(); + for (Map.Entry<String, String> e : command.getCapabilities() + .entrySet()) { + String cap = e.getValue() == null ? e.getKey() + : e.getKey() + "=" + e.getValue(); //$NON-NLS-1$ + reconstructedCapabilites.add(cap); + } + + return reconstructedCapabilites; } } @@ -166,6 +176,9 @@ public class ReceivePack { private boolean allowQuiet = true; + /** Should the server advertise and accept the session-id capability. */ + private boolean allowReceiveClientSID; + /** Identity to record action as within the reflog. */ private PersonIdent refLogIdent; @@ -215,7 +228,10 @@ public class ReceivePack { private Set<ObjectId> advertisedHaves; /** Capabilities requested by the client. */ - private Set<String> enabledCapabilities; + private Map<String, String> enabledCapabilities; + + /** Session ID sent from the client. Null if none was received. */ + private String clientSID; String userAgent; @@ -296,6 +312,7 @@ public class ReceivePack { TransferConfig tc = db.getConfig().get(TransferConfig.KEY); objectChecker = tc.newReceiveObjectChecker(); + allowReceiveClientSID = tc.isAllowReceiveClientSID(); ReceiveConfig rc = db.getConfig().get(ReceiveConfig::new); allowCreates = rc.allowCreates; @@ -886,7 +903,7 @@ public class ReceivePack { */ public boolean isSideBand() throws RequestNotYetReadException { checkRequestWasRead(); - return enabledCapabilities.contains(CAPABILITY_SIDE_BAND_64K); + return enabledCapabilities.containsKey(CAPABILITY_SIDE_BAND_64K); } /** @@ -987,7 +1004,11 @@ public class ReceivePack { * @since 4.0 */ public String getPeerUserAgent() { - return UserAgent.getAgent(enabledCapabilities, userAgent); + if (enabledCapabilities == null || enabledCapabilities.isEmpty()) { + return userAgent; + } + + return enabledCapabilities.getOrDefault(OPTION_AGENT, userAgent); } /** @@ -1182,7 +1203,7 @@ public class ReceivePack { pckOut = new PacketLineOut(rawOut); pckOut.setFlushOnEnd(false); - enabledCapabilities = new HashSet<>(); + enabledCapabilities = new HashMap<>(); commands = new ArrayList<>(); } @@ -1267,25 +1288,33 @@ public class ReceivePack { adv.advertiseCapability(CAPABILITY_SIDE_BAND_64K); adv.advertiseCapability(CAPABILITY_DELETE_REFS); adv.advertiseCapability(CAPABILITY_REPORT_STATUS); - if (allowQuiet) + if (allowReceiveClientSID) { + adv.advertiseCapability(OPTION_SESSION_ID); + } + if (allowQuiet) { adv.advertiseCapability(CAPABILITY_QUIET); + } String nonce = getPushCertificateParser().getAdvertiseNonce(); if (nonce != null) { adv.advertiseCapability(nonce); } - if (db.getRefDatabase().performsAtomicTransactions()) + if (db.getRefDatabase().performsAtomicTransactions()) { adv.advertiseCapability(CAPABILITY_ATOMIC); - if (allowOfsDelta) + } + if (allowOfsDelta) { adv.advertiseCapability(CAPABILITY_OFS_DELTA); + } if (allowPushOptions) { adv.advertiseCapability(CAPABILITY_PUSH_OPTIONS); } adv.advertiseCapability(OPTION_AGENT, UserAgent.get()); adv.send(getAdvertisedOrDefaultRefs().values()); - for (ObjectId obj : advertisedHaves) + for (ObjectId obj : advertisedHaves) { adv.advertiseHave(obj); - if (adv.isEmpty()) + } + if (adv.isEmpty()) { adv.advertiseId(ObjectId.zeroId(), "capabilities^{}"); //$NON-NLS-1$ + } adv.end(); } @@ -1437,6 +1466,9 @@ public class ReceivePack { usePushOptions = isCapabilityEnabled(CAPABILITY_PUSH_OPTIONS); sideBand = isCapabilityEnabled(CAPABILITY_SIDE_BAND_64K); quiet = allowQuiet && isCapabilityEnabled(CAPABILITY_QUIET); + + clientSID = enabledCapabilities.get(OPTION_SESSION_ID); + if (sideBand) { OutputStream out = rawOut; @@ -1457,7 +1489,7 @@ public class ReceivePack { * @return true if the peer requested the capability to be enabled. */ private boolean isCapabilityEnabled(String name) { - return enabledCapabilities.contains(name); + return enabledCapabilities.containsKey(name); } private void checkRequestWasRead() { @@ -2118,6 +2150,14 @@ public class ReceivePack { } /** + * @return The client session-id. + * @since 6.4 + */ + public String getClientSID() { + return clientSID; + } + + /** * Execute the receive task on the socket. * * @param input diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java index 02be434887..805166a405 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java @@ -125,6 +125,8 @@ public class TransferConfig { private final boolean advertiseWaitForDone; private final boolean advertiseObjectInfo; + private final boolean allowReceiveClientSID; + final @Nullable ProtocolVersion protocolVersion; final String[] hideRefs; @@ -214,6 +216,8 @@ public class TransferConfig { "advertisewaitfordone", false); advertiseObjectInfo = rc.getBoolean("uploadpack", "advertiseobjectinfo", false); + allowReceiveClientSID = rc.getBoolean("transfer", "advertisesid", + false); } /** @@ -329,6 +333,14 @@ public class TransferConfig { } /** + * @return true to advertise and receive session-id capability + * @since 6.4 + */ + public boolean isAllowReceiveClientSID() { + return allowReceiveClientSID; + } + + /** * Get {@link org.eclipse.jgit.transport.RefFilter} respecting configured * hidden refs. * diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java index 7cea998474..ee35f4866e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java @@ -519,9 +519,7 @@ public abstract class Transport implements AutoCloseable { if (proto.canHandle(uri, local, remoteName)) { Transport tn = proto.open(uri, local, remoteName); - tn.prePush = Hooks.prePush(local, tn.hookOutRedirect); - tn.prePush.setRemoteLocation(uri.toString()); - tn.prePush.setRemoteName(remoteName); + tn.remoteName = remoteName; return tn; } } @@ -707,6 +705,13 @@ public abstract class Transport implements AutoCloseable { public static final boolean DEFAULT_PUSH_THIN = false; /** + * Default setting for {@link #pushUseBitmaps} option. + * + * @since 6.4 + */ + public static final boolean DEFAULT_PUSH_USE_BITMAPS = true; + + /** * Specification for fetch or push operations, to fetch or push all tags. * Acts as --tags. */ @@ -758,6 +763,9 @@ public abstract class Transport implements AutoCloseable { /** Should push be all-or-nothing atomic behavior? */ private boolean pushAtomic; + /** Should push use bitmaps? */ + private boolean pushUseBitmaps = DEFAULT_PUSH_USE_BITMAPS; + /** Should push just check for operation result, not really push. */ private boolean dryRun; @@ -783,7 +791,9 @@ public abstract class Transport implements AutoCloseable { private PrintStream hookOutRedirect; - private PrePushHook prePush; + private PrintStream hookErrRedirect; + + private String remoteName; private Integer depth; @@ -812,7 +822,6 @@ public abstract class Transport implements AutoCloseable { this.protocol = tc.protocolVersion; this.objectChecker = tc.newObjectChecker(); this.credentialsProvider = CredentialsProvider.getDefault(); - prePush = Hooks.prePush(local, hookOutRedirect); } /** @@ -862,6 +871,32 @@ public abstract class Transport implements AutoCloseable { } /** + * Sets a {@link PrintStream} a {@link PrePushHook} may write its stdout to. + * If not set, {@link System#out} will be used. + * + * @param redirect + * {@link PrintStream} to use; if {@code null}, + * {@link System#out} will be used + * @since 6.4 + */ + public void setHookOutputStream(PrintStream redirect) { + hookOutRedirect = redirect; + } + + /** + * Sets a {@link PrintStream} a {@link PrePushHook} may write its stderr to. + * If not set, {@link System#err} will be used. + * + * @param redirect + * {@link PrintStream} to use; if {@code null}, + * {@link System#err} will be used + * @since 6.4 + */ + public void setHookErrorStream(PrintStream redirect) { + hookErrRedirect = redirect; + } + + /** * Get the description of how annotated tags should be treated during fetch. * * @return option indicating the behavior of annotated tags in fetch. @@ -1028,6 +1063,28 @@ public abstract class Transport implements AutoCloseable { } /** + * Default setting is: {@value #DEFAULT_PUSH_USE_BITMAPS} + * + * @return true if push use bitmaps. + * @since 6.4 + */ + public boolean isPushUseBitmaps() { + return pushUseBitmaps; + } + + /** + * Set whether to use bitmaps for push. Default setting is: + * {@value #DEFAULT_PUSH_USE_BITMAPS} + * + * @param useBitmaps + * false to disable use of bitmaps for push, true otherwise. + * @since 6.4 + */ + public void setPushUseBitmaps(boolean useBitmaps) { + this.pushUseBitmaps = useBitmaps; + } + + /** * Whether destination refs should be removed if they no longer exist at the * source repository. * @@ -1468,8 +1525,15 @@ public abstract class Transport implements AutoCloseable { throw new TransportException(JGitText.get().nothingToPush); } - final PushProcess pushProcess = new PushProcess(this, toPush, prePush, - out); + PrePushHook prePush = null; + if (local != null) { + // Pushing will always have a local repository. But better safe than + // sorry. + prePush = Hooks.prePush(local, hookOutRedirect, hookErrRedirect); + prePush.setRemoteLocation(uri.toString()); + prePush.setRemoteName(remoteName); + } + PushProcess pushProcess = new PushProcess(this, toPush, prePush, out); return pushProcess.execute(monitor); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java index 65dbf12b2f..a7ce1d7c21 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java @@ -34,6 +34,7 @@ import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SHALLOW; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SIDEBAND_ALL; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SIDE_BAND; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SIDE_BAND_64K; +import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_SESSION_ID; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_THIN_PACK; import static org.eclipse.jgit.transport.GitProtocolConstants.OPTION_WAIT_FOR_DONE; import static org.eclipse.jgit.transport.GitProtocolConstants.PACKET_ACK; @@ -1382,6 +1383,10 @@ public class UploadPack implements Closeable { : "") + OPTION_SHALLOW); caps.add(CAPABILITY_SERVER_OPTION); + if (transferConfig.isAllowReceiveClientSID()) { + caps.add(OPTION_SESSION_ID); + } + return caps; } @@ -1700,6 +1705,21 @@ public class UploadPack implements Closeable { return userAgent; } + /** + * Get the session ID if received from the client. + * + * @return The session ID if it has been received from the client. + * @since 6.4 + */ + @Nullable + public String getClientSID() { + if (currentRequest == null) { + return null; + } + + return currentRequest.getClientSID(); + } + private boolean negotiate(FetchRequest req, PackStatistics.Accumulator accumulator, PacketLineOut pckOut) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UserAgent.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UserAgent.java index 604eb3a66c..df98d0cfd5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UserAgent.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UserAgent.java @@ -91,6 +91,15 @@ public class UserAgent { userAgent = StringUtils.isEmptyOrNull(agent) ? null : clean(agent); } + /** + * + * @param options + * @param transportAgent + * @return The transport agent. + * @deprecated Capabilities with <key>=<value> shape are now parsed + * alongside other capabilities in the ReceivePack flow. + */ + @Deprecated static String getAgent(Set<String> options, String transportAgent) { if (options == null || options.isEmpty()) { return transportAgent; @@ -105,6 +114,14 @@ public class UserAgent { return transportAgent; } + /** + * + * @param options + * @return True if the transport agent is set. False otherwise. + * @deprecated Capabilities with <key>=<value> shape are now parsed + * alongside other capabilities in the ReceivePack flow. + */ + @Deprecated static boolean hasAgent(Set<String> options) { return getAgent(options, null) != null; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java index e638b2de3a..305ccbd7e6 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java @@ -10,6 +10,7 @@ package org.eclipse.jgit.util.io; +import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -58,7 +59,9 @@ public class AutoCRLFOutputStream extends OutputStream { * @since 4.3 */ public AutoCRLFOutputStream(OutputStream out, boolean detectBinary) { - this.out = out; + // avoid to write single lines directly to FileOutputStream: + this.out = out instanceof BufferedOutputStream ? out + : new BufferedOutputStream(out); this.detectBinary = detectBinary; } @@ -18,7 +18,7 @@ <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> <packaging>pom</packaging> - <version>6.3.1-SNAPSHOT</version> + <version>6.4.0-SNAPSHOT</version> <name>JGit - Parent</name> <url>${jgit-url}</url> @@ -165,19 +165,19 @@ <jetty-version>10.0.6</jetty-version> <japicmp-version>0.15.3</japicmp-version> <httpclient-version>4.5.13</httpclient-version> - <httpcore-version>4.4.14</httpcore-version> + <httpcore-version>4.4.15</httpcore-version> <slf4j-version>1.7.30</slf4j-version> <maven-javadoc-plugin-version>3.3.1</maven-javadoc-plugin-version> <tycho-extras-version>2.6.0</tycho-extras-version> - <gson-version>2.8.9</gson-version> - <bouncycastle-version>1.71</bouncycastle-version> + <gson-version>2.9.1</gson-version> + <bouncycastle-version>1.72</bouncycastle-version> <spotbugs-maven-plugin-version>4.3.0</spotbugs-maven-plugin-version> <maven-project-info-reports-plugin-version>3.1.2</maven-project-info-reports-plugin-version> <maven-jxr-plugin-version>3.1.1</maven-jxr-plugin-version> <maven-surefire-plugin-version>3.0.0-M5</maven-surefire-plugin-version> <maven-surefire-report-plugin-version>${maven-surefire-plugin-version}</maven-surefire-report-plugin-version> <maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version> - <plexus-compiler-version>2.9.0</plexus-compiler-version> + <plexus-compiler-version>2.12.1</plexus-compiler-version> <hamcrest-version>2.2</hamcrest-version> <assertj-version>3.20.2</assertj-version> @@ -185,6 +185,10 @@ <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> <sonar.jacoco.reportPath>${project.build.directory}/jacoco.exec</sonar.jacoco.reportPath> + + <!-- license check --> + <dash.fail>true</dash.fail> + <dash.projectId>technology.jgit</dash.projectId> </properties> <repositories> @@ -346,7 +350,7 @@ <dependency><!-- add support for ssh/scp --> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> - <version>3.5.1</version> + <version>3.5.2</version> </dependency> </dependencies> </plugin> @@ -556,6 +560,14 @@ <plugin> <groupId>org.eclipse.dash</groupId> <artifactId>license-tool-plugin</artifactId> + <executions> + <execution> + <id>license-check</id> + <goals> + <goal>license-check</goal> + </goals> + </execution> + </executions> </plugin> </plugins> </build> @@ -870,7 +882,7 @@ <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>ecj</artifactId> - <version>3.28.0</version> + <version>3.31.0</version> </dependency> </dependencies> </plugin> |