aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPENDENCIES70
-rw-r--r--WORKSPACE54
-rw-r--r--org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF10
-rw-r--r--org.eclipse.jgit.ant.test/pom.xml2
-rw-r--r--org.eclipse.jgit.ant/META-INF/MANIFEST.MF8
-rw-r--r--org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.ant/pom.xml2
-rw-r--r--org.eclipse.jgit.archive/META-INF/MANIFEST.MF16
-rw-r--r--org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.archive/pom.xml2
-rw-r--r--org.eclipse.jgit.benchmarks/pom.xml6
-rw-r--r--org.eclipse.jgit.coverage/pom.xml36
-rw-r--r--org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF8
-rw-r--r--org.eclipse.jgit.gpg.bc.test/pom.xml2
-rw-r--r--org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF14
-rw-r--r--org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.gpg.bc/pom.xml2
-rw-r--r--org.eclipse.jgit.http.apache/META-INF/MANIFEST.MF12
-rw-r--r--org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.http.apache/pom.xml2
-rw-r--r--org.eclipse.jgit.http.server/META-INF/MANIFEST.MF30
-rw-r--r--org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.http.server/pom.xml2
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitSmartHttpTools.java3
-rw-r--r--org.eclipse.jgit.http.test/META-INF/MANIFEST.MF42
-rw-r--r--org.eclipse.jgit.http.test/pom.xml2
-rw-r--r--org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF20
-rw-r--r--org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.junit.http/pom.xml2
-rw-r--r--org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF22
-rw-r--r--org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.junit.ssh/pom.xml2
-rw-r--r--org.eclipse.jgit.junit/META-INF/MANIFEST.MF40
-rw-r--r--org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.junit/pom.xml2
-rw-r--r--org.eclipse.jgit.lfs.server.test/META-INF/MANIFEST.MF38
-rw-r--r--org.eclipse.jgit.lfs.server.test/pom.xml2
-rw-r--r--org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF32
-rw-r--r--org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.lfs.server/pom.xml2
-rw-r--r--org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF34
-rw-r--r--org.eclipse.jgit.lfs.test/pom.xml2
-rw-r--r--org.eclipse.jgit.lfs/META-INF/MANIFEST.MF48
-rw-r--r--org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.lfs/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.gpg.bc.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.junit.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.lfs.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/feature.xml8
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.pgm.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.source.feature/pom.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.apache.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/feature.xml4
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.ssh.jsch.feature/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/META-INF/MANIFEST.MF2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.17.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.18.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.19.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.20.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.21.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.22.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.23.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.24.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.target40
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.25.tpd2
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/S20221109014815.tpd69
-rw-r--r--org.eclipse.jgit.packaging/org.eclipse.jgit.target/pom.xml2
-rw-r--r--org.eclipse.jgit.packaging/pom.xml2
-rw-r--r--org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF40
-rw-r--r--org.eclipse.jgit.pgm.test/pom.xml2
-rw-r--r--org.eclipse.jgit.pgm/BUILD1
-rw-r--r--org.eclipse.jgit.pgm/META-INF/MANIFEST.MF86
-rw-r--r--org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.pgm/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF12
-rw-r--r--org.eclipse.jgit.ssh.apache.agent/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.ssh.apache.agent/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF22
-rw-r--r--org.eclipse.jgit.ssh.apache.test/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF30
-rw-r--r--org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.ssh.apache/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/agent/SshAgentClient.java4
-rw-r--r--org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF16
-rw-r--r--org.eclipse.jgit.ssh.jsch.test/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF20
-rw-r--r--org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.ssh.jsch/pom.xml2
-rw-r--r--org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.properties (renamed from org.eclipse.jgit.ssh.jsch/resources/org/eclipse/jgit/internal/transport/jsch/JSchText.properties)0
-rw-r--r--org.eclipse.jgit.test/META-INF/MANIFEST.MF124
-rw-r--r--org.eclipse.jgit.test/pom.xml4
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/ApplyCommandTest.java386
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CloneCommandTest.java35
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java53
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsBundleWriterTest.java29
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstCommandTest.java38
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/transport/parser/FirstWantTest.java12
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/patch/PatchApplierTest.java534
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/PackParserTest.java118
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV0ParserTest.java19
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/ProtocolV2ParserTest.java24
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransferConfigTest.java17
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/TransportTest.java31
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java42
-rw-r--r--org.eclipse.jgit.ui/META-INF/MANIFEST.MF18
-rw-r--r--org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit.ui/pom.xml2
-rw-r--r--org.eclipse.jgit/.settings/.api_filters28
-rw-r--r--org.eclipse.jgit/META-INF/MANIFEST.MF106
-rw-r--r--org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF4
-rw-r--r--org.eclipse.jgit/pom.xml2
-rw-r--r--org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties4
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/ApplyCommand.java679
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/CloneCommand.java24
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/FetchCommand.java4
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/PushCommand.java75
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java4
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java22
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java20
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstCommand.java38
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/transport/parser/FirstWant.java23
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectReader.java33
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/patch/PatchApplier.java999
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/BasePackPushConnection.java14
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchRequest.java18
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV0Request.java21
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchV2Request.java24
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/GitProtocolConstants.java7
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/LsRefsV2Request.java37
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/PackParser.java6
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/PackedObjectInfo.java36
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV0Parser.java1
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/ProtocolV2Parser.java14
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/ReceivePack.java62
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/TransferConfig.java12
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/Transport.java78
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java20
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/UserAgent.java17
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/util/io/AutoCRLFOutputStream.java5
-rw-r--r--pom.xml26
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
diff --git a/WORKSPACE b/WORKSPACE
index fc626cebbb..c9088fc2f1 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -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;
}
diff --git a/pom.xml b/pom.xml
index 5693c10699..8df5b53199 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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>