diff --git a/WORKSPACE b/WORKSPACE index d4fb2797f..ee4deef22 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -90,30 +90,30 @@ maven_jar( sha1 = "51cf043c87253c9f58b539c9f7e44c8894223850", ) -SSHD_VERS = "2.9.2" +SSHD_VERS = "2.10.0" maven_jar( name = "sshd-osgi", artifact = "org.apache.sshd:sshd-osgi:" + SSHD_VERS, - sha1 = "bac0415734519b2fe433fea196017acf7ed32660", + sha1 = "03677ac1da780b7bdb682da50b762d79ea0d940d", ) maven_jar( name = "sshd-sftp", artifact = "org.apache.sshd:sshd-sftp:" + SSHD_VERS, - sha1 = "7f9089c87b3b44f19998252fd3b68637e3322920", + sha1 = "88707339ac0693d48df0ec1bafb84c78d792ed08", ) maven_jar( name = "jna", - artifact = "net.java.dev.jna:jna:5.12.1", - sha1 = "b1e93a735caea94f503e95e6fe79bf9cdc1e985d", + artifact = "net.java.dev.jna:jna:5.13.0", + sha1 = "1200e7ebeedbe0d10062093f32925a912020e747", ) maven_jar( name = "jna-platform", - artifact = "net.java.dev.jna:jna-platform:5.12.1", - sha1 = "097406a297c852f4a41e688a176ec675f72e8329", + artifact = "net.java.dev.jna:jna-platform:5.13.0", + sha1 = "88e9a306715e9379f3122415ef4ae759a352640d", ) maven_jar( diff --git a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF index 3cf43481f..7e6f68daa 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/MANIFEST.MF @@ -8,31 +8,31 @@ Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.file.virtualfs;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.logging;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.threads;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.gss;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.keyboard;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth.password;version="[2.9.2,2.10.0)", - org.apache.sshd.server.command;version="[2.9.2,2.10.0)", - org.apache.sshd.server.session;version="[2.9.2,2.10.0)", - org.apache.sshd.server.shell;version="[2.9.2,2.10.0)", - org.apache.sshd.server.subsystem;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.server;version="[2.9.2,2.10.0)", +Import-Package: org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.file.virtualfs;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.logging;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.threads;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.gss;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.keyboard;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth.password;version="[2.10.0,2.11.0)", + org.apache.sshd.server.command;version="[2.10.0,2.11.0)", + org.apache.sshd.server.session;version="[2.10.0,2.11.0)", + org.apache.sshd.server.shell;version="[2.10.0,2.11.0)", + org.apache.sshd.server.subsystem;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.server;version="[2.10.0,2.11.0)", org.eclipse.jgit.annotations;version="[6.6.0,6.7.0)", org.eclipse.jgit.api;version="[6.6.0,6.7.0)", org.eclipse.jgit.api.errors;version="[6.6.0,6.7.0)", 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 2a127bc9b..058aa695d 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/pom.xml @@ -107,4 +107,37 @@ ${project.version} + + + + gpg-sign + + + + org.eclipse.tycho + tycho-gpg-plugin + + + pgpsigner + package + + sign-p2-artifacts + + + E3E144E1 + true + + bcpg + bcpkix + bcprov + bcutil + + + + + + + + + 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 189609064..64dc0b1c4 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 da26dbd3c..137ea8091 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 c9eab15b0..ce9239b75 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 278db4fa3..5251b63a2 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 01f012141..1777f44a6 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 6c3c28877..91b6faee2 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 b7c96aba1..fa4806b3b 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 2efe3f065..76cbdea71 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + 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 5894ace31..1c82c3925 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,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target index 0bb881dfd..4b20653cb 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.26.target @@ -1,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target index d28af5512..3749fcda7 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.27.target @@ -1,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target index aa409cca3..62fcd32b5 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.28.target @@ -1,59 +1,47 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + org.tukaani + xz + 1.9 + jar + + + @@ -70,6 +58,38 @@ + + + + org.apache.sshd + sshd-osgi + 2.10.0 + jar + + + org.apache.sshd + sshd-sftp + 2.10.0 + jar + + + + + + + net.java.dev.jna + jna + 5.13.0 + jar + + + net.java.dev.jna + jna-platform + 5.13.0 + jar + + + @@ -132,6 +152,42 @@ + + + + org.hamcrest + hamcrest + 2.2 + jar + + + + + + + com.google.code.gson + gson + 2.10.1 + jar + + + + + + + net.bytebuddy + byte-buddy + 1.12.18 + jar + + + net.bytebuddy + byte-buddy-agent + 1.12.18 + jar + + + @@ -170,6 +226,16 @@ + + + + args4j + args4j + 2.33 + jar + + + @@ -184,6 +250,12 @@ 1.23.0 jar + + commons-logging + commons-logging + 1.2 + jar + diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd index cb1ab479a..cbb7d1e10 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/maven/dependencies.tpd @@ -17,6 +17,24 @@ maven apache artifactId = "commons-compress" version = "1.23.0" } + dependency { + groupId = "commons-logging" + artifactId = "commons-logging" + version = "1.2" + } +} + +maven args4j + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "args4j" + artifactId = "args4j" + version = "2.33" + } } maven assertj @@ -60,6 +78,50 @@ maven bouncycastle } } +maven bytebuddy + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "net.bytebuddy" + artifactId = "byte-buddy" + version = "1.12.18" + } + dependency { + groupId = "net.bytebuddy" + artifactId = "byte-buddy-agent" + version = "1.12.18" + } +} + +maven gson + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "com.google.code.gson" + artifactId = "gson" + version = "2.10.1" + } +} + +maven hamcrest + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "org.hamcrest" + artifactId = "hamcrest" + version = "2.2" + } +} + maven javaewah scope = compile dependencyDepth = none @@ -121,6 +183,42 @@ maven jetty } } +maven jna + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "net.java.dev.jna" + artifactId = "jna" + version = "5.13.0" + } + dependency { + groupId = "net.java.dev.jna" + artifactId = "jna-platform" + version = "5.13.0" + } +} + +maven sshd + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "org.apache.sshd" + artifactId = "sshd-osgi" + version = "2.10.0" + } + dependency { + groupId = "org.apache.sshd" + artifactId = "sshd-sftp" + version = "2.10.0" + } +} + maven slf4j scope = compile dependencyDepth = none @@ -138,3 +236,16 @@ maven slf4j version = "1.7.36" } } + +maven xz + scope = compile + dependencyDepth = none + missingManifest = error + includeSources +{ + dependency { + groupId = "org.tukaani" + artifactId = "xz" + version = "1.9" + } +} \ No newline at end of file diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd index ff707c36c..8578b2cdf 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/R20230302014618-2023-03.tpd @@ -2,48 +2,26 @@ target "R20230302014618-2023-03" with source configurePhase // see https://download.eclipse.org/tools/orbit/downloads/ location "https://download.eclipse.org/tools/orbit/downloads/drops/R20230302014618/repository" { - com.google.gson [2.10.1.v20230109-0753,2.10.1.v20230109-0753] - com.google.gson.source [2.10.1.v20230109-0753,2.10.1.v20230109-0753] com.jcraft.jsch [0.1.55.v20221112-0806,0.1.55.v20221112-0806] com.jcraft.jsch.source [0.1.55.v20221112-0806,0.1.55.v20221112-0806] 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] - net.bytebuddy.byte-buddy [1.12.18.v20221114-2102,1.12.18.v20221114-2102] - net.bytebuddy.byte-buddy.source [1.12.18.v20221114-2102,1.12.18.v20221114-2102] - net.bytebuddy.byte-buddy-agent [1.12.18.v20221114-2102,1.12.18.v20221114-2102] - net.bytebuddy.byte-buddy-agent.source [1.12.18.v20221114-2102,1.12.18.v20221114-2102] 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.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.14.v20221207-1049,4.5.14.v20221207-1049] org.apache.httpcomponents.httpclient.source [4.5.14.v20221207-1049,4.5.14.v20221207-1049] org.apache.httpcomponents.httpcore [4.4.16.v20221207-1049,4.4.16.v20221207-1049] org.apache.httpcomponents.httpcore.source [4.4.16.v20221207-1049,4.4.16.v20221207-1049] - org.apache.sshd.osgi [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.osgi.source [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.sftp [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - org.apache.sshd.sftp.source [2.9.2.v20221117-1942,2.9.2.v20221117-1942] - 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.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/pom.xml b/org.eclipse.jgit.packaging/pom.xml index 8e0af1887..0e1bea7b1 100644 --- a/org.eclipse.jgit.packaging/pom.xml +++ b/org.eclipse.jgit.packaging/pom.xml @@ -23,7 +23,7 @@ 11 - 2.7.5 + 4.0.0-SNAPSHOT jgit-4.17 @@ -36,6 +36,10 @@ repo.eclipse.org.cbi-snapshots https://repo.eclipse.org/content/repositories/cbi-snapshots/ + + tycho-snapshots + https://repo.eclipse.org/content/repositories/tycho-snapshots/ + @@ -286,6 +290,11 @@ tycho-packaging-plugin ${tycho-version} + + org.eclipse.tycho + tycho-gpg-plugin + ${tycho-version} + org.eclipse.cbi.maven.plugins eclipse-jarsigner-plugin diff --git a/org.eclipse.jgit.ssh.apache.agent/pom.xml b/org.eclipse.jgit.ssh.apache.agent/pom.xml index 1b8a2a18f..c6ea38c8a 100644 --- a/org.eclipse.jgit.ssh.apache.agent/pom.xml +++ b/org.eclipse.jgit.ssh.apache.agent/pom.xml @@ -28,7 +28,6 @@ - 5.8.0 ${project.build.directory}/META-INF/SOURCE-MANIFEST.MF @@ -49,13 +48,11 @@ net.java.dev.jna jna - ${jna-version} net.java.dev.jna jna-platform - ${jna-version} 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 1e74f2bae..42779f6fb 100644 --- a/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.test/META-INF/MANIFEST.MF @@ -7,20 +7,20 @@ Bundle-Version: 6.6.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-11 -Import-Package: org.apache.sshd.client.config.hosts;version="[2.9.2,2.10.0)", - org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.net;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server;version="[2.9.2,2.10.0)", - org.apache.sshd.server.forward;version="[2.9.2,2.10.0)", +Import-Package: org.apache.sshd.client.config.hosts;version="[2.10.0,2.11.0)", + org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.net;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server;version="[2.10.0,2.11.0)", + org.apache.sshd.server.forward;version="[2.10.0,2.11.0)", org.eclipse.jgit.api;version="[6.6.0,6.7.0)", org.eclipse.jgit.api.errors;version="[6.6.0,6.7.0)", org.eclipse.jgit.internal.transport.sshd.proxy;version="[6.6.0,6.7.0)", diff --git a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF index 83859e2eb..82c83be92 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF @@ -35,57 +35,57 @@ Export-Package: org.eclipse.jgit.internal.transport.sshd;version="6.6.0";x-inter org.apache.sshd.client.keyverifier", org.eclipse.jgit.transport.sshd.agent;version="6.6.0" Import-Package: net.i2p.crypto.eddsa;version="[0.3.0,0.4.0)", - org.apache.sshd.agent;version="[2.9.2,2.10.0)", - org.apache.sshd.client;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.keyboard;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.password;version="[2.9.2,2.10.0)", - org.apache.sshd.client.auth.pubkey;version="[2.9.2,2.10.0)", - org.apache.sshd.client.channel;version="[2.9.2,2.10.0)", - org.apache.sshd.client.config.hosts;version="[2.9.2,2.10.0)", - org.apache.sshd.client.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.client.future;version="[2.9.2,2.10.0)", - org.apache.sshd.client.keyverifier;version="[2.9.2,2.10.0)", - org.apache.sshd.client.session;version="[2.9.2,2.10.0)", - org.apache.sshd.client.session.forward;version="[2.9.2,2.10.0)", - org.apache.sshd.common;version="[2.9.2,2.10.0)", - org.apache.sshd.common.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.common.channel;version="[2.9.2,2.10.0)", - org.apache.sshd.common.compression;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.loader;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.9.2,2.10.0)", - org.apache.sshd.common.config.keys.u2f;version="[2.9.2,2.10.0)", - org.apache.sshd.common.digest;version="[2.9.2,2.10.0)", - org.apache.sshd.common.forward;version="[2.9.2,2.10.0)", - org.apache.sshd.common.future;version="[2.9.2,2.10.0)", - org.apache.sshd.common.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex.extension;version="[2.9.2,2.10.0)", - org.apache.sshd.common.kex.extension.parser;version="[2.9.2,2.10.0)", - org.apache.sshd.common.keyprovider;version="[2.9.2,2.10.0)", - org.apache.sshd.common.mac;version="[2.9.2,2.10.0)", - org.apache.sshd.common.random;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session;version="[2.9.2,2.10.0)", - org.apache.sshd.common.session.helpers;version="[2.9.2,2.10.0)", - org.apache.sshd.common.signature;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.buffer.keys;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.closeable;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.der;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.functors;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.io.resource;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.logging;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.net;version="[2.9.2,2.10.0)", - org.apache.sshd.common.util.security;version="[2.9.2,2.10.0)", - org.apache.sshd.core;version="[2.9.2,2.10.0)", - org.apache.sshd.server.auth;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.client;version="[2.9.2,2.10.0)", - org.apache.sshd.sftp.common;version="[2.9.2,2.10.0)", + org.apache.sshd.agent;version="[2.10.0,2.11.0)", + org.apache.sshd.client;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.keyboard;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.password;version="[2.10.0,2.11.0)", + org.apache.sshd.client.auth.pubkey;version="[2.10.0,2.11.0)", + org.apache.sshd.client.channel;version="[2.10.0,2.11.0)", + org.apache.sshd.client.config.hosts;version="[2.10.0,2.11.0)", + org.apache.sshd.client.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.client.future;version="[2.10.0,2.11.0)", + org.apache.sshd.client.keyverifier;version="[2.10.0,2.11.0)", + org.apache.sshd.client.session;version="[2.10.0,2.11.0)", + org.apache.sshd.client.session.forward;version="[2.10.0,2.11.0)", + org.apache.sshd.common;version="[2.10.0,2.11.0)", + org.apache.sshd.common.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.common.channel;version="[2.10.0,2.11.0)", + org.apache.sshd.common.compression;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.loader;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.loader.openssh.kdf;version="[2.10.0,2.11.0)", + org.apache.sshd.common.config.keys.u2f;version="[2.10.0,2.11.0)", + org.apache.sshd.common.digest;version="[2.10.0,2.11.0)", + org.apache.sshd.common.forward;version="[2.10.0,2.11.0)", + org.apache.sshd.common.future;version="[2.10.0,2.11.0)", + org.apache.sshd.common.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex.extension;version="[2.10.0,2.11.0)", + org.apache.sshd.common.kex.extension.parser;version="[2.10.0,2.11.0)", + org.apache.sshd.common.keyprovider;version="[2.10.0,2.11.0)", + org.apache.sshd.common.mac;version="[2.10.0,2.11.0)", + org.apache.sshd.common.random;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session;version="[2.10.0,2.11.0)", + org.apache.sshd.common.session.helpers;version="[2.10.0,2.11.0)", + org.apache.sshd.common.signature;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.buffer.keys;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.closeable;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.der;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.functors;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.io.resource;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.logging;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.net;version="[2.10.0,2.11.0)", + org.apache.sshd.common.util.security;version="[2.10.0,2.11.0)", + org.apache.sshd.core;version="[2.10.0,2.11.0)", + org.apache.sshd.server.auth;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.client;version="[2.10.0,2.11.0)", + org.apache.sshd.sftp.common;version="[2.10.0,2.11.0)", org.eclipse.jgit.annotations;version="[6.6.0,6.7.0)", org.eclipse.jgit.errors;version="[6.6.0,6.7.0)", org.eclipse.jgit.fnmatch;version="[6.6.0,6.7.0)", diff --git a/org.eclipse.jgit.ssh.apache/pom.xml b/org.eclipse.jgit.ssh.apache/pom.xml index 8a4d6690a..6b1f08c35 100644 --- a/org.eclipse.jgit.ssh.apache/pom.xml +++ b/org.eclipse.jgit.ssh.apache/pom.xml @@ -50,6 +50,16 @@ org.apache.sshd sshd-sftp ${apache-sshd-version} + + + org.apache.sshd + sshd-common + + + org.apache.sshd + sshd-core + + diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java deleted file mode 100644 index 715f3b8ed..000000000 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthFactory.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2018, Thomas Wolf 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.sshd; - -import java.io.IOException; - -import org.apache.sshd.client.auth.AbstractUserAuthFactory; -import org.apache.sshd.client.auth.password.UserAuthPassword; -import org.apache.sshd.client.auth.password.UserAuthPasswordFactory; -import org.apache.sshd.client.session.ClientSession; - -/** - * A customized {@link UserAuthPasswordFactory} that creates instance of - * {@link JGitPasswordAuthentication}. - */ -public class JGitPasswordAuthFactory extends AbstractUserAuthFactory { - - /** The singleton {@link JGitPasswordAuthFactory}. */ - public static final JGitPasswordAuthFactory INSTANCE = new JGitPasswordAuthFactory(); - - private JGitPasswordAuthFactory() { - super(UserAuthPasswordFactory.NAME); - } - - @Override - public UserAuthPassword createUserAuth(ClientSession session) - throws IOException { - return new JGitPasswordAuthentication(); - } -} diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java deleted file mode 100644 index 33c3c608f..000000000 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitPasswordAuthentication.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2018, 2022 Thomas Wolf 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.sshd; - -import static org.apache.sshd.core.CoreModuleProperties.PASSWORD_PROMPTS; - -import org.apache.sshd.client.auth.password.UserAuthPassword; -import org.apache.sshd.client.session.ClientSession; - -/** - * A password authentication handler that respects the - * {@code NumberOfPasswordPrompts} ssh config. - */ -public class JGitPasswordAuthentication extends UserAuthPassword { - - private int maxAttempts; - - private int attempts; - - @Override - public void init(ClientSession session, String service) throws Exception { - super.init(session, service); - maxAttempts = Math.max(1, - PASSWORD_PROMPTS.getRequired(session).intValue()); - attempts = 0; - } - - @Override - protected String resolveAttemptedPassword(ClientSession session, - String service) throws Exception { - if (++attempts > maxAttempts) { - return null; - } - return super.resolveAttemptedPassword(session, service); - } -} diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java index 72f0bdb6e..311cf198a 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java @@ -32,10 +32,8 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Objects; -import java.util.function.Supplier; import java.util.stream.Collectors; -import org.apache.sshd.agent.SshAgentFactory; import org.apache.sshd.client.SshClient; import org.apache.sshd.client.config.hosts.HostConfigEntry; import org.apache.sshd.client.future.ConnectFuture; @@ -107,8 +105,6 @@ public class JGitSshClient extends SshClient { private ProxyDataFactory proxyDatabase; - private Supplier agentFactorySupplier = () -> null; - @Override protected SessionFactory createSessionFactory() { // Override the parent's default @@ -377,22 +373,6 @@ public CredentialsProvider getCredentialsProvider() { return credentialsProvider; } - @Override - public SshAgentFactory getAgentFactory() { - return agentFactorySupplier.get(); - } - - @Override - protected void checkConfig() { - // The super class requires channel factories for agent forwarding if a - // factory for an SSH agent is set. We haven't implemented this yet, and - // we don't do SSH agent forwarding for now. Unfortunately, there is no - // way to bypass this check in the super class except making - // getAgentFactory() return null until after the check. - super.checkConfig(); - agentFactorySupplier = super::getAgentFactory; - } - /** * A {@link SessionFactory} to create our own specialized * {@link JGitClientSession}s. diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java index dd6894b66..807bda89b 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/IdentityPasswordProvider.java @@ -252,22 +252,26 @@ protected void cancelAuthentication() { protected boolean keyLoaded(URIish uri, State state, char[] password, Exception err) throws IOException, GeneralSecurityException { - if (err == null) { - return false; // Success, don't retry - } else if (err instanceof GeneralSecurityException) { - throw new InvalidKeyException( - format(SshdText.get().identityFileCannotDecrypt, uri), err); - } else { - // Unencrypted key (state == null && password == null), or exception - // before having asked for the password (state != null && password - // == null; might also be a user cancellation), or number of - // attempts exhausted. - if (state == null || password == null - || state.getCount() >= attempts) { - return false; - } + if (err == null || password == null) { + // Success, or an error before we even asked for a password (could + // also be a non-encrypted key, or a user cancellation): don't + // retry. + return false; + } + if (state != null && state.getCount() < attempts) { + // We asked for a password, and have not yet exhausted the number of + // attempts. Assume the password was incorrect. return true; } + // Attempts exhausted + if (err instanceof GeneralSecurityException) { + // Top-level exception with a better exception message. The + // framework would otherwise re-throw 'err'. + throw new InvalidKeyException( + format(SshdText.get().identityFileCannotDecrypt, uri), err); + } + // I/O error. + return false; } @Override diff --git a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java index c792c1889..7798b80f1 100644 --- a/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java +++ b/org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/SshdSessionFactory.java @@ -33,6 +33,7 @@ import org.apache.sshd.client.SshClient; import org.apache.sshd.client.auth.UserAuthFactory; import org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory; +import org.apache.sshd.client.auth.password.UserAuthPasswordFactory; import org.apache.sshd.client.config.hosts.HostConfigEntryResolver; import org.apache.sshd.common.NamedFactory; import org.apache.sshd.common.compression.BuiltinCompressions; @@ -46,7 +47,6 @@ import org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile; import org.eclipse.jgit.internal.transport.sshd.CachingKeyPairProvider; import org.eclipse.jgit.internal.transport.sshd.GssApiWithMicAuthFactory; -import org.eclipse.jgit.internal.transport.sshd.JGitPasswordAuthFactory; import org.eclipse.jgit.internal.transport.sshd.JGitPublicKeyAuthFactory; import org.eclipse.jgit.internal.transport.sshd.JGitServerKeyVerifier; import org.eclipse.jgit.internal.transport.sshd.JGitSshClient; @@ -607,7 +607,7 @@ private List getUserAuthFactories() { return Collections.unmodifiableList( Arrays.asList(GssApiWithMicAuthFactory.INSTANCE, JGitPublicKeyAuthFactory.FACTORY, - JGitPasswordAuthFactory.INSTANCE, + UserAuthPasswordFactory.INSTANCE, UserAuthKeyboardInteractiveFactory.INSTANCE)); } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndexTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndexTest.java new file mode 100644 index 000000000..b533d5c98 --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndexTest.java @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2023, Google LLC + * + * 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.storage.commitgraph; + +import org.eclipse.jgit.lib.ObjectId; +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class GraphObjectIndexTest { + + @Test + public void findGraphPosition_noObjInBucket() throws CommitGraphFormatException { + GraphObjectIndex idx = new GraphObjectIndex(100, + new byte[256 * 4], new byte[] {}); + int graphPosition = idx.findGraphPosition( + ObjectId.fromString("731dfd4c5eb6f88b98e983b9b0551b3562a0c46c")); + assertEquals(-1, graphPosition); + } + +} diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java index 2a403c769..24a81b671 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/PackWriterTest.java @@ -541,6 +541,39 @@ public void testWriteObjectSizeIndex_noDeltas() throws Exception { assertEquals(18787, objSizeIdx.getSize(idx.findPosition(knownBlob2))); } + @Test + public void testWriteReverseIndexConfig() { + assertFalse(config.isWriteReverseIndex()); + config.setWriteReverseIndex(true); + assertTrue(config.isWriteReverseIndex()); + } + + @Test + public void testWriteReverseIndexOff() throws Exception { + config.setWriteReverseIndex(false); + writer = new PackWriter(config, db.newObjectReader()); + ByteArrayOutputStream reverseIndexOutput = new ByteArrayOutputStream(); + + writer.writeReverseIndex(reverseIndexOutput); + + assertEquals(0, reverseIndexOutput.size()); + } + + @Test + public void testWriteReverseIndexOn() throws Exception { + config.setWriteReverseIndex(true); + writeVerifyPack4(false); + ByteArrayOutputStream reverseIndexOutput = new ByteArrayOutputStream(); + int headerBytes = 12; + int bodyBytes = 12; + int footerBytes = 40; + + writer.writeReverseIndex(reverseIndexOutput); + + assertTrue(reverseIndexOutput.size() == headerBytes + bodyBytes + + footerBytes); + } + @Test public void testExclude() throws Exception { // TestRepository closes repo diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RewriteGeneratorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RewriteGeneratorTest.java new file mode 100644 index 000000000..04e372998 --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/RewriteGeneratorTest.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2023, HIS eG + * + * 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.revwalk; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import org.junit.Test; + +public class RewriteGeneratorTest extends RevWalkTestCase { + + @Test + public void testRewriteGeneratorDoesNotExhaustPreviousGenerator() + throws Exception { + RevCommit a = commit(); + a.flags |= RevWalk.TREE_REV_FILTER_APPLIED; + RevCommit b = commit(a); + + LIFORevQueue q = new LIFORevQueue(); + q.add(a); + q.add(b); + + /* + * Since the TREE_REV_FILTER has been applied to commit a and the + * REWRITE flag has not been applied to commit a, the RewriteGenerator + * must not rewrite the parent of b and thus must not call the previous + * generator (since b already has its correct parent). + */ + RewriteGenerator rewriteGenerator = new RewriteGenerator(q); + rewriteGenerator.next(); + + assertNotNull( + "Previous generator was unnecessarily exhausted by RewriteGenerator", + q.next()); + } + + @Test + public void testRewriteGeneratorRewritesParent() throws Exception { + RevCommit a = commit(); + a.flags |= RevWalk.TREE_REV_FILTER_APPLIED; + a.flags |= RevWalk.REWRITE; + RevCommit b = commit(a); + assertEquals(1, b.getParentCount()); + + LIFORevQueue q = new LIFORevQueue(); + /* + * We are only adding commit b (and not a), because PendingGenerator + * should never emit a commit that has the REWRITE flag set. + */ + q.add(b); + + RewriteGenerator rewriteGenerator = new RewriteGenerator(q); + RevCommit returnedB = rewriteGenerator.next(); + assertEquals(b.getId(), returnedB.getId()); + assertEquals(0, returnedB.getParentCount()); + } +} diff --git a/org.eclipse.jgit/.settings/.api_filters b/org.eclipse.jgit/.settings/.api_filters index 1fbc01102..75697fd88 100644 --- a/org.eclipse.jgit/.settings/.api_filters +++ b/org.eclipse.jgit/.settings/.api_filters @@ -14,161 +14,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -182,31 +34,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java b/org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java index ca5370e91..ccf99ff5b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/blame/Candidate.java @@ -12,6 +12,7 @@ import java.io.IOException; import java.util.List; +import java.util.Objects; import org.eclipse.jgit.blame.ReverseWalk.ReverseCommit; import org.eclipse.jgit.diff.Edit; @@ -269,7 +270,7 @@ private Region clearRegionList() { } boolean canMergeRegions(Candidate other) { - return sourceCommit == other.sourceCommit + return Objects.equals(sourceCommit, other.sourceCommit) && sourcePath.getPath().equals(other.sourcePath.getPath()); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java index b0df46732..22b4011f9 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/commitgraph/GraphObjectIndex.java @@ -80,7 +80,7 @@ int findGraphPosition(AnyObjectId id) { if (levelOne > 0) { low = fanoutTable[levelOne - 1]; } - do { + while (low < high) { int mid = (low + high) >>> 1; int pos = objIdOffset(mid); int cmp = id.compareTo(oidLookup, pos); @@ -91,7 +91,7 @@ int findGraphPosition(AnyObjectId id) { } else { low = mid + 1; } - } while (low < high); + } return -1; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java index 66bcf7398..92e23b8b4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java @@ -577,6 +577,7 @@ private void packGarbage(ProgressMonitor pm) throws IOException { cfg.setReuseObjects(true); cfg.setDeltaCompress(false); cfg.setBuildBitmaps(false); + cfg.setWriteReverseIndex(false); try (PackWriter pw = new PackWriter(cfg, ctx); RevWalk pool = new RevWalk(ctx)) { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java index be359bbea..11757aabd 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java @@ -11,6 +11,7 @@ package org.eclipse.jgit.internal.storage.file; import static org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX; +import static org.eclipse.jgit.internal.storage.pack.PackExt.COMMIT_GRAPH; import static org.eclipse.jgit.internal.storage.pack.PackExt.INDEX; import static org.eclipse.jgit.internal.storage.pack.PackExt.KEEP; import static org.eclipse.jgit.internal.storage.pack.PackExt.PACK; @@ -943,7 +944,8 @@ void writeCommitGraph(@NonNull Set wants) try (RevWalk walk = new RevWalk(repo)) { CommitGraphWriter writer = new CommitGraphWriter( GraphCommits.fromWalk(pm, wants, walk)); - tmpFile = File.createTempFile("commit_", ".graph_tmp", //$NON-NLS-1$//$NON-NLS-2$ + tmpFile = File.createTempFile("commit_", //$NON-NLS-1$ + COMMIT_GRAPH.getTmpExtension(), repo.getObjectDatabase().getInfoDirectory()); // write the commit-graph file try (FileOutputStream fos = new FileOutputStream(tmpFile); @@ -1292,10 +1294,11 @@ private Pack writePack(@NonNull Set want, ObjectId id = pw.computeName(); File packdir = repo.getObjectDatabase().getPackDirectory(); packdir.mkdirs(); - tmpPack = File.createTempFile("gc_", ".pack_tmp", packdir); //$NON-NLS-1$ //$NON-NLS-2$ - final String tmpBase = tmpPack.getName() + tmpPack = File.createTempFile("gc_", //$NON-NLS-1$ + PACK.getTmpExtension(), packdir); + String tmpBase = tmpPack.getName() .substring(0, tmpPack.getName().lastIndexOf('.')); - File tmpIdx = new File(packdir, tmpBase + ".idx_tmp"); //$NON-NLS-1$ + File tmpIdx = new File(packdir, tmpBase + INDEX.getTmpExtension()); tmpExts.put(INDEX, tmpIdx); if (!tmpIdx.createNewFile()) @@ -1321,7 +1324,8 @@ private Pack writePack(@NonNull Set want, } if (pw.prepareBitmapIndex(pm)) { - File tmpBitmapIdx = new File(packdir, tmpBase + ".bitmap_tmp"); //$NON-NLS-1$ + File tmpBitmapIdx = new File(packdir, + tmpBase + BITMAP_INDEX.getTmpExtension()); tmpExts.put(BITMAP_INDEX, tmpBitmapIdx); if (!tmpBitmapIdx.createNewFile()) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java index adad411c6..d58008379 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java @@ -71,6 +71,15 @@ public int getBit() { return 1 << getPosition(); } + /** + * Format a temporary file extension for this PackExt. + * + * @return a temporary file extension + */ + public String getTmpExtension() { + return String.format(".%s_tmp", ext); //$NON-NLS-1$ + } + /** {@inheritDoc} */ @Override public String toString() { 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 bad572459..9508f3fe3 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 @@ -62,6 +62,7 @@ import org.eclipse.jgit.internal.storage.file.PackBitmapIndexWriterV1; import org.eclipse.jgit.internal.storage.file.PackIndexWriter; import org.eclipse.jgit.internal.storage.file.PackObjectSizeIndexWriter; +import org.eclipse.jgit.internal.storage.file.PackReverseIndexWriter; import org.eclipse.jgit.lib.AnyObjectId; import org.eclipse.jgit.lib.AsyncObjectSizeQueue; import org.eclipse.jgit.lib.BatchingProgressMonitor; @@ -1136,6 +1137,38 @@ public void writeObjectSizeIndex(OutputStream objIdxStream) stats.timeWriting += System.currentTimeMillis() - writeStart; } + /** + * Whether the writer will write a reverse index file. The configuration + * flag must be on and the writer must be able to write corresponding + * forward index. + * + * @return whether the writer will write a reverse index file + */ + public boolean isReverseIndexEnabled() { + // Only write the reverse index if the writer is configured to and the + // forward index that it would correspond to will be written. + return config.isWriteReverseIndex() && !isIndexDisabled(); + } + + /** + * Write the pack's reverse index file to the output stream. + * + * @param stream + * where to write the file contents to + * @throws IOException + * if writing to the stream fails + */ + public void writeReverseIndex(OutputStream stream) throws IOException { + if (!isReverseIndexEnabled()) { + return; + } + long writeStart = System.currentTimeMillis(); + PackReverseIndexWriter writer = PackReverseIndexWriter + .createWriter(stream); + writer.write(sortByName(), packcsum); + stats.timeWriting += System.currentTimeMillis() - writeStart; + } + /** * Create a bitmap index file to match the pack file just written. *

@@ -1690,6 +1723,11 @@ private void parallelDeltaSearch(ProgressMonitor monitor, } throw new IOException(JGitText .get().packingCancelledDuringObjectsWriting, e); + } catch (Throwable e) { + if (e1 != null) { + e.addSuppressed(e1); + } + throw e; } } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java index c4b6bf955..4c080f476 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ConfigConstants.java @@ -744,6 +744,13 @@ public final class ConfigConstants { */ public static final String CONFIG_KEY_BITMAP_RECENT_COMMIT_COUNT = "bitmaprecentcommitspan"; + /** + * The "pack.writeReverseIndex" key + * + * @since 6.6 + */ + public static final String CONFIG_KEY_WRITE_REVERSE_INDEX = "writeReverseIndex"; + /** * The "pack.buildBitmaps" key * @since 5.8 diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java index a0c978f6e..b0b1d4ff2 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackConfig.java @@ -27,7 +27,10 @@ import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_DELTA_COMPRESSION; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_DEPTH; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_INDEXVERSION; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_MIN_BYTES_OBJ_SIZE_INDEX; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_MIN_SIZE_PREVENT_RACYPACK; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PRESERVE_OLD_PACKS; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PRUNE_PRESERVED; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_REUSE_DELTAS; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_REUSE_OBJECTS; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_SEARCH_FOR_REUSE_TIMEOUT; @@ -36,10 +39,8 @@ import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_WAIT_PREVENT_RACYPACK; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_WINDOW; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_WINDOW_MEMORY; -import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_MIN_BYTES_OBJ_SIZE_INDEX; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_WRITE_REVERSE_INDEX; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_PACK_SECTION; -import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PRESERVE_OLD_PACKS; -import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_PRUNE_PRESERVED; import java.time.Duration; import java.util.concurrent.Executor; @@ -161,6 +162,14 @@ public class PackConfig { */ public static final int DEFAULT_INDEX_VERSION = 2; + /** + * Default value of the write reverse index option: {@value} + * + * @see #setWriteReverseIndex(boolean) + * @since 6.6 + */ + public static final boolean DEFAULT_WRITE_REVERSE_INDEX = false; + /** * Default value of the build bitmaps option: {@value} * @@ -292,6 +301,8 @@ public class PackConfig { private int indexVersion = DEFAULT_INDEX_VERSION; + private boolean writeReverseIndex = DEFAULT_WRITE_REVERSE_INDEX; + private boolean buildBitmaps = DEFAULT_BUILD_BITMAPS; private int bitmapContiguousCommitCount = DEFAULT_BITMAP_CONTIGUOUS_COMMIT_COUNT; @@ -373,6 +384,7 @@ public PackConfig(PackConfig cfg) { this.threads = cfg.threads; this.executor = cfg.executor; this.indexVersion = cfg.indexVersion; + this.writeReverseIndex = cfg.writeReverseIndex; this.buildBitmaps = cfg.buildBitmaps; this.bitmapContiguousCommitCount = cfg.bitmapContiguousCommitCount; this.bitmapRecentCommitCount = cfg.bitmapRecentCommitCount; @@ -973,6 +985,31 @@ public void setIndexVersion(int version) { indexVersion = version; } + /** + * True if the writer should write reverse index files. + * + * Default setting: {@value #DEFAULT_WRITE_REVERSE_INDEX} + * + * @return whether the writer should write reverse index files + * @since 6.6 + */ + public boolean isWriteReverseIndex() { + return writeReverseIndex; + } + + /** + * Set whether the writer will write reverse index files. + * + * Default setting: {@value #DEFAULT_WRITE_REVERSE_INDEX} + * + * @param writeReverseIndex + * whether the writer should write reverse index files + * @since 6.6 + */ + public void setWriteReverseIndex(boolean writeReverseIndex) { + this.writeReverseIndex = writeReverseIndex; + } + /** * True if writer is allowed to build bitmaps for indexes. * @@ -1286,6 +1323,8 @@ public void fromConfig(Config rc) { setSinglePack(rc.getBoolean(CONFIG_PACK_SECTION, CONFIG_KEY_SINGLE_PACK, getSinglePack())); + setWriteReverseIndex(rc.getBoolean(CONFIG_PACK_SECTION, + CONFIG_KEY_WRITE_REVERSE_INDEX, isWriteReverseIndex())); setBuildBitmaps(rc.getBoolean(CONFIG_PACK_SECTION, CONFIG_KEY_BUILD_BITMAPS, isBuildBitmaps())); setBitmapContiguousCommitCount(rc.getInt(CONFIG_PACK_SECTION, @@ -1347,6 +1386,7 @@ public String toString() { b.append(", reuseDeltas=").append(isReuseDeltas()); //$NON-NLS-1$ b.append(", reuseObjects=").append(isReuseObjects()); //$NON-NLS-1$ b.append(", deltaCompress=").append(isDeltaCompress()); //$NON-NLS-1$ + b.append(", writeReverseIndex=").append(isWriteReverseIndex()); //$NON-NLS-1$ b.append(", buildBitmaps=").append(isBuildBitmaps()); //$NON-NLS-1$ b.append(", bitmapContiguousCommitCount=") //$NON-NLS-1$ .append(getBitmapContiguousCommitCount()); 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 d48252174..b87392531 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java @@ -596,7 +596,7 @@ HttpURLConnection open(final String method, final String bucket, final String key, final Map args) throws IOException { final StringBuilder urlstr = new StringBuilder(); - urlstr.append(protocol); //$NON-NLS-1$ + urlstr.append(protocol); urlstr.append("://"); //$NON-NLS-1$ urlstr.append(bucket); urlstr.append('.'); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java index f02160e45..c510194ee 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/FetchProcess.java @@ -111,7 +111,7 @@ void execute(ProgressMonitor monitor, FetchResult result, for (PackLock lock : packLocks) { lock.unlock(); } - } catch (IOException e) { + } catch (Throwable e) { if (e1 != null) { e.addSuppressed(e1); } 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 f245eae39..3264f556f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java @@ -1189,6 +1189,7 @@ private void fetchV2(PacketLineOut pckOut) throws IOException { PackStatistics.Accumulator accumulator = new PackStatistics.Accumulator(); Instant negotiateStart = Instant.now(); + accumulator.advertised = advertised.size(); ProtocolV2Parser parser = new ProtocolV2Parser(transferConfig); FetchV2Request req = parser.parseFetchRequest(pckIn); @@ -1209,6 +1210,7 @@ private void fetchV2(PacketLineOut pckOut) throws IOException { // TODO(ifrade): Avoid mutating the parsed request. req.getWantIds().addAll(wantedRefs.values()); wantIds = req.getWantIds(); + accumulator.wants = wantIds.size(); boolean sectionSent = false; boolean mayHaveShallow = req.getDepth() != 0 @@ -1766,7 +1768,6 @@ private boolean negotiate(FetchRequest req, && line.length() == PACKET_HAVE.length() + 40) { peerHas.add(ObjectId .fromString(line.substring(PACKET_HAVE.length()))); - accumulator.haves++; } else if (line.equals(PACKET_DONE)) { last = processHaveLines(peerHas, last, pckOut, accumulator, Option.NONE); @@ -1798,6 +1799,7 @@ private ObjectId processHaveLines(List peerHas, ObjectId last, parseWants(accumulator); if (peerHas.isEmpty()) return last; + accumulator.haves += peerHas.size(); sentReady = false; int haveCnt = 0; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java index ed8f450c5..cc6c252fa 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/WalkFetchConnection.java @@ -530,9 +530,10 @@ private boolean downloadPackedObject(final ProgressMonitor monitor, // are unusable and we shouldn't consult them again. // try { - if (pack.tmpIdx != null) + if (pack.tmpIdx != null) { FileUtils.delete(pack.tmpIdx); - } catch (IOException e) { + } + } catch (Throwable e) { if (e1 != null) { e.addSuppressed(e1); } diff --git a/pom.xml b/pom.xml index 406eafd90..4a0ef5e40 100644 --- a/pom.xml +++ b/pom.xml @@ -152,7 +152,7 @@ 6.5.0.202303070854-r 1.10.12 - 2.9.2 + 2.10.0 0.1.55 1.1.3 1.2.3 @@ -179,6 +179,7 @@ 2.13.0 2.2 3.24.2 + 5.13.0 jacoco @@ -210,10 +211,6 @@ repo.eclipse.org.dash-releases https://repo.eclipse.org/content/repositories/dash-licenses-releases/ - - repo.eclipse.org.dash-snapshots - https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/ - @@ -396,7 +393,7 @@ org.eclipse.dash license-tool-plugin - 0.0.1-SNAPSHOT + 1.0.2 @@ -788,6 +785,18 @@ assertj-core ${assertj-version} + + + net.java.dev.jna + jna + ${jna-version} + + + + net.java.dev.jna + jna-platform + ${jna-version} +