Merge branch 'master' into servlet-4 * master: MultiPackIndexWriter: Encode checksum in base64 DfsMidxWriter: Use the input data instead of rereading the midx DfsMidxWriter: Add a param to toggle bitmap writing PullCommandTest: Remove unused variable Update URL used to download artifacts from repo.eclipse.org Fix path of jgit artifacts in local maven repository MultiPackIndexWriter: report also the checksum in the result RefAdvancerWalk: Move to revwalk package pgm.MultiPackIndex: Move writing code to MidxWriter Allow extending TernarySearchTree MultiPackIndexWriter: Report progress writing chunks PackIndexMerger: Add progress monitor to the building process Bump minimum dependency for Bouncy Castle to 1.83.0 Update version of last JGit release to 7.6.0.202603022253-r DfsMidxWriter: Split writing midx and its bitmaps MultiPackIndexLoader: report what chunk is going over size Prepare 7.7.0-SNAPSHOT builds Prepare 7.6.1-SNAPSHOT builds DfsPackFileMidx: Pass the right pack when building single-pack midx JGit v7.6.0.202603022253-r Add AddCommand #addFilepatterns methods Bazel: Pin jcl-over-slf4j to SLF4J_VERSION Prepare 7.6.0-SNAPSHOT builds JGit v7.6.0.202602242313-rc1 Support diff3 conflict style in merges RebaseCommand: Honor the commit message cleanup configuration Remove the option to create 'blank issues' in GitHub Refactor handlePackError method to improve readability PackIndexMerger: Accept a midx as input to build another midx DfsPackFileMidxNPacks: Use only the list of packs in midx order DfsMidxWriterTest: Rename to DfsMidxWriterBitmapsTest Update jetty to 12.1.6 Update bytebuddy to 1.18.5 Update commons-codec to 1.21.0 Orbit: update org.objenesis to 3.5.0 DfsMidxWriter: Pass the PackIndexMerger instead of a Map of sources MidxIterators join: compare shifted packId DfsPackFileMidx: Offer localIterator Prepare 7.6.0-SNAPSHOT builds JGit v7.6.0.202602181523-m3 PackIndexMerger: replace constructor with Builder JGit v7.6.0.202602172005-m3 MidxIterator: Add reset method PackIndexMerger: remove rawIterator() method PackIndexMerge: Use deduped iterators instead of deduping while reading PackIndexMerger: use MidxIterators instead of its own MidxIterators: Helpers around the MidxIterator Do not log packfiles moved away or pruned RevWalk: abort computation of merged commits if the monitor is canceled Change-Id: Ib6b840ac1dcdba0fd6256543de6226700b58f6e5
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..ec4bb38 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1 @@ +blank_issues_enabled: false \ No newline at end of file
diff --git a/MODULE.bazel b/MODULE.bazel index f9e046b..a0629e4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -23,9 +23,9 @@ BOUNCYCASTLE_VERSION = "1.83" -BYTE_BUDDY_VERSION = "1.18.4" +BYTE_BUDDY_VERSION = "1.18.5" -JETTY_VERSION = "12.1.5" +JETTY_VERSION = "12.1.6" JMH_VERSION = "1.37" @@ -45,7 +45,7 @@ "com.googlecode.javaewah:JavaEWAH:1.2.3", "com.jcraft:jsch:0.1.55", "com.jcraft:jzlib:1.1.3", - "commons-codec:commons-codec:1.20.0", + "commons-codec:commons-codec:1.21.0", "commons-io:commons-io:2.21.0", "commons-logging:commons-logging:1.3.5", "javax.servlet:javax.servlet-api:4.0.1", @@ -83,6 +83,7 @@ "org.openjdk.jmh:jmh-core:" + JMH_VERSION, "org.openjdk.jmh:jmh-generator-annprocess:" + JMH_VERSION, "org.slf4j:slf4j-api:" + SLF4J_VERSION, + "org.slf4j:jcl-over-slf4j:" + SLF4J_VERSION, "org.slf4j:slf4j-simple:" + SLF4J_VERSION, "org.tukaani:xz:1.11", ],
diff --git a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF index b114e7d..8b99ee9 100644 --- a/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant.test/META-INF/MANIFEST.MF
@@ -5,14 +5,14 @@ Automatic-Module-Name: org.eclipse.jgit.ant.test Bundle-SymbolicName: org.eclipse.jgit.ant.test Bundle-Vendor: %Bundle-Vendor -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git Import-Package: org.apache.tools.ant, - org.eclipse.jgit.ant.tasks;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.ant.tasks;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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 483e833..1ed2fb9 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 18acf74..e10e385 100644 --- a/org.eclipse.jgit.ant/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/MANIFEST.MF
@@ -3,14 +3,14 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ant Bundle-SymbolicName: org.eclipse.jgit.ant -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git Import-Package: org.apache.tools.ant, - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)" + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)" Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor -Export-Package: org.eclipse.jgit.ant;version="7.6.0", - org.eclipse.jgit.ant.tasks;version="7.6.0"; +Export-Package: org.eclipse.jgit.ant;version="7.7.0", + org.eclipse.jgit.ant.tasks;version="7.7.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 d9b3241..08d4b66 100644 --- a/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ant/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.ant - Sources Bundle-SymbolicName: org.eclipse.jgit.ant.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.ant;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.ant;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.ant/pom.xml b/org.eclipse.jgit.ant/pom.xml index dab8a3d..8863da9 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 3f9d2c1..9f42812 100644 --- a/org.eclipse.jgit.archive/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.archive/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.archive Bundle-SymbolicName: org.eclipse.jgit.archive -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -14,18 +14,18 @@ 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="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.osgi.framework;version="[1.3.0,2.0.0)", org.tukaani.xz Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.jgit.archive.FormatActivator -Export-Package: org.eclipse.jgit.archive;version="7.6.0"; +Export-Package: org.eclipse.jgit.archive;version="7.7.0"; uses:="org.apache.commons.compress.archivers, org.osgi.framework, org.eclipse.jgit.api, org.eclipse.jgit.lib", - org.eclipse.jgit.archive.internal;version="7.6.0";x-internal:=true + org.eclipse.jgit.archive.internal;version="7.7.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 86336e3..88f51d1 100644 --- a/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.archive/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.archive - Sources Bundle-SymbolicName: org.eclipse.jgit.archive.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.archive;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.archive;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.archive/pom.xml b/org.eclipse.jgit.archive/pom.xml index bbe279b..a04e9c6 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 b4daf7d..53d1bfd 100644 --- a/org.eclipse.jgit.benchmarks/pom.xml +++ b/org.eclipse.jgit.benchmarks/pom.xml
@@ -16,7 +16,7 @@ <parent> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit-parent</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.benchmarks</artifactId>
diff --git a/org.eclipse.jgit.coverage/pom.xml b/org.eclipse.jgit.coverage/pom.xml index 80b421d..b02657f 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>7.6.0-SNAPSHOT</version> + <version>7.7.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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.archive</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.apache</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.server</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ui</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ant.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.http.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.pgm.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit.ssh.apache.test</artifactId> - <version>7.6.0-SNAPSHOT</version> + <version>7.7.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 647c97d..1b2793a 100644 --- a/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc.test/META-INF/MANIFEST.MF
@@ -3,20 +3,20 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.gpg.bc.test Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.bouncycastle.asn1.cryptlib;version="[1.80.0,2.0.0)", - org.bouncycastle.jce.provider;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp.operator;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp.operator.jcajce;version="[1.80.0,2.0.0)", - org.bouncycastle.util.encoders;version="[1.80.0,2.0.0)", - org.eclipse.jgit.gpg.bc.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.gpg.bc.internal.keys;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.sha1;version="[7.6.0,7.7.0)", +Import-Package: org.bouncycastle.asn1.cryptlib;version="[1.83.0,2.0.0)", + org.bouncycastle.jce.provider;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp.operator;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp.operator.jcajce;version="[1.83.0,2.0.0)", + org.bouncycastle.util.encoders;version="[1.83.0,2.0.0)", + org.eclipse.jgit.gpg.bc.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.gpg.bc.internal.keys;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.sha1;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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 05e504e..2ed7ba3 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 cc6eda7..c039403 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/MANIFEST.MF
@@ -3,29 +3,29 @@ 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="[7.6.0,7.7.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[7.7.0,7.8.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/gpg_bc -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.bouncycastle.asn1;version="[1.80.0,2.0.0)", - org.bouncycastle.asn1.x9;version="[1.80.0,2.0.0)", - org.bouncycastle.bcpg;version="[1.80.0,2.0.0)", - org.bouncycastle.bcpg.sig;version="[1.80.0,2.0.0)", - org.bouncycastle.crypto.ec;version="[1.80.0,2.0.0)", - org.bouncycastle.gpg;version="[1.80.0,2.0.0)", - org.bouncycastle.gpg.keybox;version="[1.80.0,2.0.0)", - org.bouncycastle.gpg.keybox.jcajce;version="[1.80.0,2.0.0)", - org.bouncycastle.jcajce.interfaces;version="[1.80.0,2.0.0)", - org.bouncycastle.jcajce.util;version="[1.80.0,2.0.0)", - org.bouncycastle.math.ec;version="[1.80.0,2.0.0)", - org.bouncycastle.math.field;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp.jcajce;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp.operator;version="[1.80.0,2.0.0)", - org.bouncycastle.openpgp.operator.jcajce;version="[1.80.0,2.0.0)", - org.bouncycastle.util.encoders;version="[1.80.0,2.0.0)", +Import-Package: org.bouncycastle.asn1;version="[1.83.0,2.0.0)", + org.bouncycastle.asn1.x9;version="[1.83.0,2.0.0)", + org.bouncycastle.bcpg;version="[1.83.0,2.0.0)", + org.bouncycastle.bcpg.sig;version="[1.83.0,2.0.0)", + org.bouncycastle.crypto.ec;version="[1.83.0,2.0.0)", + org.bouncycastle.gpg;version="[1.83.0,2.0.0)", + org.bouncycastle.gpg.keybox;version="[1.83.0,2.0.0)", + org.bouncycastle.gpg.keybox.jcajce;version="[1.83.0,2.0.0)", + org.bouncycastle.jcajce.interfaces;version="[1.83.0,2.0.0)", + org.bouncycastle.jcajce.util;version="[1.83.0,2.0.0)", + org.bouncycastle.math.ec;version="[1.83.0,2.0.0)", + org.bouncycastle.math.field;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp.jcajce;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp.operator;version="[1.83.0,2.0.0)", + org.bouncycastle.openpgp.operator.jcajce;version="[1.83.0,2.0.0)", + org.bouncycastle.util.encoders;version="[1.83.0,2.0.0)", org.slf4j;version="[1.7.0,3.0.0)" -Export-Package: org.eclipse.jgit.gpg.bc.internal;version="7.6.0";x-friends:="org.eclipse.jgit.gpg.bc.test", - org.eclipse.jgit.gpg.bc.internal.keys;version="7.6.0";x-friends:="org.eclipse.jgit.gpg.bc.test" +Export-Package: org.eclipse.jgit.gpg.bc.internal;version="7.7.0";x-friends:="org.eclipse.jgit.gpg.bc.test", + org.eclipse.jgit.gpg.bc.internal.keys;version="7.7.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 82df526..556d256 100644 --- a/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.gpg.bc/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.gpg.bc - Sources Bundle-SymbolicName: org.eclipse.jgit.gpg.bc.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.gpg.bc;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.gpg.bc/pom.xml b/org.eclipse.jgit.gpg.bc/pom.xml index bfc3590..e6b2063 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 9b0f12f..0688783 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.apache Bundle-SymbolicName: org.eclipse.jgit.http.apache -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git Bundle-Localization: OSGI-INF/l10n/plugin @@ -27,11 +27,11 @@ 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="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)" -Export-Package: org.eclipse.jgit.transport.http.apache;version="7.6.0"; + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)" +Export-Package: org.eclipse.jgit.transport.http.apache;version="7.7.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 cd65a4f..03c16b8 100644 --- a/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.apache/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.http.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.http.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.http.apache;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.http.apache/pom.xml b/org.eclipse.jgit.http.apache/pom.xml index 55828b2..51be72e 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.apache</artifactId>
diff --git a/org.eclipse.jgit.http.server/.settings/.api_filters b/org.eclipse.jgit.http.server/.settings/.api_filters index ad4bc68..9487cfb 100644 --- a/org.eclipse.jgit.http.server/.settings/.api_filters +++ b/org.eclipse.jgit.http.server/.settings/.api_filters
@@ -28,6 +28,13 @@ <message_argument value="hasChunkedEncodingRequestBug(int[], HttpServletRequest)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="hasChunkedEncodingRequestBug(int[], HttpServletRequest)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/GitFilter.java" type="org.eclipse.jgit.http.server.GitFilter"> <filter id="337682486"> @@ -96,6 +103,20 @@ <message_argument value="addUploadPackFilter(Filter)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="addReceivePackFilter(Filter)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="addUploadPackFilter(Filter)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/GitServlet.java" type="org.eclipse.jgit.http.server.GitServlet"> <filter id="337682486"> @@ -164,6 +185,20 @@ <message_argument value="addUploadPackFilter(Filter)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="addReceivePackFilter(Filter)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="addUploadPackFilter(Filter)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/GitSmartHttpTools.java" type="org.eclipse.jgit.http.server.GitSmartHttpTools"> <filter id="338792546"> @@ -355,6 +390,55 @@ <message_argument value="sendError(HttpServletRequest, HttpServletResponse, int, String)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="getResponseContentType(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="isGitClient(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="isInfoRefs(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="isReceivePack(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="isUploadPack(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="sendError(HttpServletRequest, HttpServletResponse, int)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="sendError(HttpServletRequest, HttpServletResponse, int, String)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/ReceivePackErrorHandler.java" type="org.eclipse.jgit.http.server.ReceivePackErrorHandler"> <filter id="403804204"> @@ -390,6 +474,13 @@ <message_argument value="receive(HttpServletRequest, HttpServletResponse, ReceivePackErrorHandler.ReceivePackRunnable)"/> </message_arguments> </filter> + <filter id="1209008130"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="receive(HttpServletRequest, HttpServletResponse, ReceivePackErrorHandler.ReceivePackRunnable)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/RepositoryFilter.java" type="org.eclipse.jgit.http.server.RepositoryFilter"> <filter id="337682486"> @@ -547,6 +638,41 @@ <message_argument value="sendPlainText(String, HttpServletRequest, HttpServletResponse)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="consumeRequestBody(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="getInputStream(HttpServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="getRepository(ServletRequest)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="send(byte[], HttpServletRequest, HttpServletResponse)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="sendPlainText(String, HttpServletRequest, HttpServletResponse)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/UploadPackErrorHandler.java" type="org.eclipse.jgit.http.server.UploadPackErrorHandler"> <filter id="403804204"> @@ -582,6 +708,13 @@ <message_argument value="upload(HttpServletRequest, HttpServletResponse, UploadPackErrorHandler.UploadPackRunnable)"/> </message_arguments> </filter> + <filter id="1209008130"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="upload(HttpServletRequest, HttpServletResponse, UploadPackErrorHandler.UploadPackRunnable)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/glue/ErrorServlet.java" type="org.eclipse.jgit.http.server.glue.ErrorServlet"> <filter id="337682486"> @@ -734,6 +867,20 @@ <message_argument value="with(HttpServlet)"/> </message_arguments> </filter> + <filter id="1209008130"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="through(Filter)"/> + </message_arguments> + </filter> + <filter id="1209008130"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="with(HttpServlet)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/glue/WrappedRequest.java" type="org.eclipse.jgit.http.server.glue.WrappedRequest"> <filter id="337682486"> @@ -774,6 +921,13 @@ <message_argument value="WrappedRequest(HttpServletRequest, String, String)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="WrappedRequest(HttpServletRequest, String, String)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/resolver/AsIsFileService.java" type="org.eclipse.jgit.http.server.resolver.AsIsFileService"> <filter id="338792546"> @@ -803,6 +957,13 @@ <message_argument value="access(HttpServletRequest, Repository)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="access(HttpServletRequest, Repository)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/resolver/DefaultReceivePackFactory.java" type="org.eclipse.jgit.http.server.resolver.DefaultReceivePackFactory"> <filter id="338792546"> @@ -832,6 +993,13 @@ <message_argument value="create(HttpServletRequest, Repository)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="create(HttpServletRequest, Repository)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/http/server/resolver/DefaultUploadPackFactory.java" type="org.eclipse.jgit.http.server.resolver.DefaultUploadPackFactory"> <filter id="338792546"> @@ -861,5 +1029,12 @@ <message_argument value="create(HttpServletRequest, Repository)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="create(HttpServletRequest, Repository)"/> + </message_arguments> + </filter> </resource> </component>
diff --git a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF index 7dd34b1..db7c4ae 100644 --- a/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/MANIFEST.MF
@@ -3,31 +3,31 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.server Bundle-SymbolicName: org.eclipse.jgit.http.server -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.http.server;version="7.6.0", - org.eclipse.jgit.http.server.glue;version="7.6.0"; +Export-Package: org.eclipse.jgit.http.server;version="7.7.0", + org.eclipse.jgit.http.server.glue;version="7.7.0"; uses:="javax.servlet, javax.servlet.http", - org.eclipse.jgit.http.server.resolver;version="7.6.0"; + org.eclipse.jgit.http.server.resolver;version="7.7.0"; uses:="javax.servlet.http org.eclipse.jgit.transport.resolver, org.eclipse.jgit.lib, org.eclipse.jgit.transport, Import-Package: javax.servlet;version="[4.0.0,5.0.0)", javax.servlet.http;version="[4.0.0,5.0.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.dfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.parser;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.resolver;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)" + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.dfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.parser;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.resolver;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.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 3d42568..520c2fb 100644 --- a/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.http.server/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.http.server - Sources Bundle-SymbolicName: org.eclipse.jgit.http.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.http.server;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.http.server/pom.xml b/org.eclipse.jgit.http.server/pom.xml index 826fc16..1409119 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.server</artifactId>
diff --git a/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.http.test/META-INF/MANIFEST.MF index d71d636..bbc6eee 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.http.test Bundle-SymbolicName: org.eclipse.jgit.http.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -29,26 +29,26 @@ org.eclipse.jetty.util.component;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.security;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.thread;version="[12.0.0,13.0.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.http.server;version="[7.6.0,7.7.0)", - org.eclipse.jgit.http.server.glue;version="[7.6.0,7.7.0)", - org.eclipse.jgit.http.server.resolver;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.dfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.reftable;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http.apache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.resolver;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.http.server;version="[7.7.0,7.8.0)", + org.eclipse.jgit.http.server.glue;version="[7.7.0,7.8.0)", + org.eclipse.jgit.http.server.resolver;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.dfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.reftable;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http.apache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.resolver;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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.http.test/pom.xml b/org.eclipse.jgit.http.test/pom.xml index ca5c99c..f9b623b 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.http.test</artifactId>
diff --git a/org.eclipse.jgit.junit.http/.settings/.api_filters b/org.eclipse.jgit.junit.http/.settings/.api_filters index fc06291..bd156c7 100644 --- a/org.eclipse.jgit.junit.http/.settings/.api_filters +++ b/org.eclipse.jgit.junit.http/.settings/.api_filters
@@ -55,6 +55,20 @@ <message_argument value="authBasic(ServletContextHandler, String[])"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="addContext(String)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="authBasic(ServletContextHandler, String[])"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/junit/http/HttpTestCase.java" type="org.eclipse.jgit.junit.http.HttpTestCase"> <filter id="338792546"> @@ -84,6 +98,13 @@ <message_argument value="toURIish(ServletContextHandler, String)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="toURIish(ServletContextHandler, String)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/junit/http/MockServletConfig.java" type="org.eclipse.jgit.junit.http.MockServletConfig"> <filter id="338792546">
diff --git a/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF b/org.eclipse.jgit.junit.http/META-INF/MANIFEST.MF index fa7ef45..16c6c65 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.http Bundle-SymbolicName: org.eclipse.jgit.junit.http -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -26,17 +26,17 @@ org.eclipse.jetty.util.component;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.security;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.ssl;version="[12.0.0,13.0.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.http.server;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.resolver;version="[7.6.0,7.7.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.http.server;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.resolver;version="[7.7.0,7.8.0)", org.junit;version="[4.13,5.0.0)", org.slf4j.helpers;version="[1.7.0,3.0.0)" -Export-Package: org.eclipse.jgit.junit.http;version="7.6.0"; +Export-Package: org.eclipse.jgit.junit.http;version="7.7.0"; uses:="org.eclipse.jgit.transport, javax.servlet, 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 64d2e4e..a913f90 100644 --- a/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.http/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.junit.http - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.http.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.junit.http;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.junit.http/pom.xml b/org.eclipse.jgit.junit.http/pom.xml index e549e00..7c90fdf 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 012f00b..04e96f9 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit.ssh Bundle-SymbolicName: org.eclipse.jgit.junit.ssh -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -34,16 +34,16 @@ org.apache.sshd.server.subsystem;version="[2.17.1,2.18.0)", org.apache.sshd.sftp;version="[2.17.1,2.18.0)", org.apache.sshd.sftp.server;version="[2.17.1,2.18.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.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,3.0.0)" -Export-Package: org.eclipse.jgit.junit.ssh;version="7.6.0" +Export-Package: org.eclipse.jgit.junit.ssh;version="7.7.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 9c1adcb..479ec13 100644 --- a/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit.ssh/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.junit.ssh - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.ssh.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.junit.ssh;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.junit.ssh/pom.xml b/org.eclipse.jgit.junit.ssh/pom.xml index 8d6d068..94397ab 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 bf52865..78f0584 100644 --- a/org.eclipse.jgit.junit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/MANIFEST.MF
@@ -3,38 +3,38 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.junit Bundle-SymbolicName: org.eclipse.jgit.junit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.dircache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.merge;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="7.6.0", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.time;version="[7.6.0,7.7.0)", +Import-Package: org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.dircache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.merge;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="7.7.0", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.time;version="[7.7.0,7.8.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,3.0.0)" -Export-Package: org.eclipse.jgit.junit;version="7.6.0"; +Export-Package: org.eclipse.jgit.junit;version="7.7.0"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -47,4 +47,4 @@ org.junit.runners.model, org.junit.runner, org.eclipse.jgit.util.time", - org.eclipse.jgit.junit.time;version="7.6.0";uses:="org.eclipse.jgit.util.time" + org.eclipse.jgit.junit.time;version="7.7.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 cb07dc9..c313e01 100644 --- a/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.junit/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.junit - Sources Bundle-SymbolicName: org.eclipse.jgit.junit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.junit;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.junit;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.junit/pom.xml b/org.eclipse.jgit.junit/pom.xml index fa798c8..907fc47 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 e877dee..43a6a0a 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server.test Bundle-SymbolicName: org.eclipse.jgit.lfs.server.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -27,24 +27,24 @@ org.eclipse.jetty.util.component;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.security;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.thread;version="[12.0.0,13.0.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.server;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.server.fs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.test;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.server;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.server.fs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.test;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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 2527ab9..d5427ac 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.lfs.server.test</artifactId>
diff --git a/org.eclipse.jgit.lfs.server/.settings/.api_filters b/org.eclipse.jgit.lfs.server/.settings/.api_filters index 5694eaa..6c82731 100644 --- a/org.eclipse.jgit.lfs.server/.settings/.api_filters +++ b/org.eclipse.jgit.lfs.server/.settings/.api_filters
@@ -97,6 +97,20 @@ <message_argument value="sendError(HttpServletResponse, int, String)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="getObjectToTransfer(HttpServletRequest, HttpServletResponse)"/> + </message_arguments> + </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="sendError(HttpServletResponse, int, String)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/lfs/server/fs/ObjectDownloadListener.java" type="org.eclipse.jgit.lfs.server.fs.ObjectDownloadListener"> <filter id="337682486"> @@ -132,6 +146,13 @@ <message_argument value="ObjectDownloadListener(FileLfsRepository, AsyncContext, HttpServletResponse, AnyLongObjectId)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="ObjectDownloadListener(FileLfsRepository, AsyncContext, HttpServletResponse, AnyLongObjectId)"/> + </message_arguments> + </filter> </resource> <resource path="src/org/eclipse/jgit/lfs/server/fs/ObjectUploadListener.java" type="org.eclipse.jgit.lfs.server.fs.ObjectUploadListener"> <filter id="337682486"> @@ -167,5 +188,12 @@ <message_argument value="ObjectUploadListener(FileLfsRepository, AsyncContext, HttpServletRequest, HttpServletResponse, AnyLongObjectId)"/> </message_arguments> </filter> + <filter id="1141899266"> + <message_arguments> + <message_argument value="7.0"/> + <message_argument value="7.7"/> + <message_argument value="ObjectUploadListener(FileLfsRepository, AsyncContext, HttpServletRequest, HttpServletResponse, AnyLongObjectId)"/> + </message_arguments> + </filter> </resource> </component>
diff --git a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF index 4d024da..7563beb 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/MANIFEST.MF
@@ -3,21 +3,21 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.server Bundle-SymbolicName: org.eclipse.jgit.lfs.server -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.lfs.server;version="7.6.0"; +Export-Package: org.eclipse.jgit.lfs.server;version="7.7.0"; uses:="javax.servlet.http, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.fs;version="7.6.0"; + org.eclipse.jgit.lfs.server.fs;version="7.7.0"; uses:="javax.servlet, javax.servlet.http, org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib", - org.eclipse.jgit.lfs.server.internal;version="7.6.0";x-internal:=true, - org.eclipse.jgit.lfs.server.s3;version="7.6.0"; + org.eclipse.jgit.lfs.server.internal;version="7.7.0";x-internal:=true, + org.eclipse.jgit.lfs.server.s3;version="7.7.0"; uses:="org.eclipse.jgit.lfs.server, org.eclipse.jgit.lfs.lib" Import-Package: com.google.gson;version="[2.8.0,3.0.0)", @@ -25,15 +25,15 @@ javax.servlet.annotation;version="[4.0.0,5.0.0)", javax.servlet.http;version="[4.0.0,5.0.0)", org.apache.http;version="[4.3.0,5.0.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http.apache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http.apache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.slf4j;version="[1.7.0,3.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 c2a8147..9dc8953 100644 --- a/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs.server/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.lfs.server - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.server.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.lfs.server;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.lfs.server/pom.xml b/org.eclipse.jgit.lfs.server/pom.xml index 71bcec5..9867e18 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 d79ae9a..b9df9f9 100644 --- a/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs.test/META-INF/MANIFEST.MF
@@ -3,29 +3,29 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs.test Bundle-SymbolicName: org.eclipse.jgit.lfs.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.attributes;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.dfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", +Import-Package: org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.attributes;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.dfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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="7.6.0";x-friends:="org.eclipse.jgit.lfs.server.test" +Export-Package: org.eclipse.jgit.lfs.test;version="7.7.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 4f9de97..040b222 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 44d8477..0fe46c7 100644 --- a/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/MANIFEST.MF
@@ -3,33 +3,33 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.lfs Bundle-SymbolicName: org.eclipse.jgit.lfs -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.lfs;version="7.6.0", - org.eclipse.jgit.lfs.errors;version="7.6.0", - org.eclipse.jgit.lfs.internal;version="7.6.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="7.6.0" +Export-Package: org.eclipse.jgit.lfs;version="7.7.0", + org.eclipse.jgit.lfs.errors;version="7.7.0", + org.eclipse.jgit.lfs.internal;version="7.7.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="7.7.0" 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="[7.6.0,7.7.0)";resolution:=optional, - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.attributes;version="[7.6.0,7.7.0)", - org.eclipse.jgit.diff;version="[7.6.0,7.7.0)", - org.eclipse.jgit.dircache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.hooks;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)" + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)";resolution:=optional, + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.attributes;version="[7.7.0,7.8.0)", + org.eclipse.jgit.diff;version="[7.7.0,7.8.0)", + org.eclipse.jgit.dircache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.hooks;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.0)"
diff --git a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF index cdc7cf9..5ecc42b 100644 --- a/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.lfs/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.lfs - Sources Bundle-SymbolicName: org.eclipse.jgit.lfs.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.lfs;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.lfs/pom.xml b/org.eclipse.jgit.lfs/pom.xml index 803606a..19546b7 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 c5521ee..0caab54 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="7.6.0.qualifier" + version="7.7.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 95ec4e9..a8ce298 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 1518beb..e37d622 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="7.7.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 f3f10fd..d59c8de 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 b9815d6..684d119 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="7.7.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 1f0ad42..00a0601 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 efbf3c0..8b28f14 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="7.6.0.qualifier" + version="7.7.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="7.6.0" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="7.7.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 a0f6e92..6e07e85 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 fef54ec..bb6b80a 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import feature="org.eclipse.jgit" version="7.7.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 74daa11..0d91543 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 868aa02..d053e0a 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="7.6.0.qualifier" + version="7.7.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="7.6.0" match="equivalent"/> - <import feature="org.eclipse.jgit.lfs" version="7.6.0" match="equivalent"/> - <import feature="org.eclipse.jgit.ssh.apache" version="7.6.0" match="equivalent"/> + <import feature="org.eclipse.jgit" version="7.7.0" match="equivalent"/> + <import feature="org.eclipse.jgit.lfs" version="7.7.0" match="equivalent"/> + <import feature="org.eclipse.jgit.ssh.apache" version="7.7.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 8812d72..6a8c021 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/category.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/category.xml index 2d5152f..bceab00 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/category.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/category.xml
@@ -216,6 +216,12 @@ <bundle id="slf4j.simple.source"> <category name="JGit-dependency-bundles"/> </bundle> + <bundle id="jcl.over.slf4j"> + <category name="JGit-dependency-bundles"/> + </bundle> + <bundle id="jcl.over.slf4j.source"> + <category name="JGit-dependency-bundles"/> + </bundle> <bundle id="org.tukaani.xz"> <category name="JGit-dependency-bundles"/> </bundle>
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 5c71af5..9a1fd3a 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 bfb5360..73f1ecd 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import feature="org.eclipse.jgit" version="7.7.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 4eb2a6d..c5b7592 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>7.6.0-SNAPSHOT</version> + <version>7.7.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>7.6.0-SNAPSHOT</version> + <version>7.7.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 cc7a9d6..edb2020 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import feature="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import feature="org.eclipse.jgit" version="7.7.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 bd38360..0b97560 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 ab0775e..706918f 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="7.6.0.qualifier" + version="7.7.0.qualifier" provider-name="%providerName"> <description url="http://www.eclipse.org/jgit/"> @@ -23,7 +23,7 @@ </url> <requires> - <import plugin="org.eclipse.jgit" version="7.6.0" match="equivalent"/> + <import plugin="org.eclipse.jgit" version="7.7.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 7d881a5..8db7e69 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <groupId>org.eclipse.jgit.feature</groupId>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.34.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.34.target index 2a5319e..6e1c72a 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.34.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.34.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.34" sequenceNumber="1770853782"> +<target name="jgit-4.34" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.35.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.35.target index b9084c8..9134dd0 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.35.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.35.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.35" sequenceNumber="1770853782"> +<target name="jgit-4.35" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.36.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.36.target index 786f0e5..beb25fd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.36.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.36.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.36" sequenceNumber="1770853782"> +<target name="jgit-4.36" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.37.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.37.target index 54d77d0..1c9135c 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.37.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.37.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.37" sequenceNumber="1770853782"> +<target name="jgit-4.37" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.38.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.38.target index 7eef45f..0d838d8 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.38.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.38.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.38" sequenceNumber="1770853782"> +<target name="jgit-4.38" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.39.target b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.39.target index 786afff..6ce26dd 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.39.target +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/jgit-4.39.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.39" sequenceNumber="1770853782"> +<target name="jgit-4.39" sequenceNumber="1772188163"> <locations> <location includeMode="slicer" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="true" type="InstallableUnit"> <unit id="com.jcraft.jsch" version="0.1.55.v20230916-1400"/> @@ -24,8 +24,8 @@ <unit id="org.objectweb.asm.util" version="9.9.1"/> <unit id="org.objectweb.asm.tree" version="9.9.1"/> <unit id="org.objectweb.asm.tree.analysis" version="9.9.1"/> - <unit id="org.objenesis" version="3.4.0"/> - <unit id="org.objenesis.source" version="3.4.0"/> + <unit id="org.objenesis" version="3.5.0"/> + <unit id="org.objenesis.source" version="3.5.0"/> <unit id="org.osgi.service.cm" version="1.6.1.202109301733"/> <unit id="org.osgi.service.cm.source" version="1.6.1.202109301733"/> <repository location="https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/2026-03"/> @@ -58,6 +58,12 @@ <version>2.0.17</version> <type>jar</type> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>2.0.17</version> + <type>jar</type> + </dependency> </dependencies> </location> <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="error" type="Maven" label="sshd"> @@ -107,61 +113,61 @@ <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-servlet</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-nested</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.ee8</groupId> <artifactId>jetty-ee8-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-security</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-session</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> - <version>12.1.5</version> + <version>12.1.6</version> <type>jar</type> </dependency> <dependency> @@ -207,13 +213,13 @@ <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> <dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy-agent</artifactId> - <version>1.18.4</version> + <version>1.18.5</version> <type>jar</type> </dependency> </dependencies> @@ -271,7 +277,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> <type>jar</type> </dependency> <dependency>
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 b42c0d8..175141c 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
@@ -10,7 +10,7 @@ dependency { groupId = "commons-codec" artifactId = "commons-codec" - version = "1.20.0" + version = "1.21.0" } dependency { groupId = "org.apache.commons" @@ -97,12 +97,12 @@ dependency { groupId = "net.bytebuddy" artifactId = "byte-buddy" - version = "1.18.4" + version = "1.18.5" } dependency { groupId = "net.bytebuddy" artifactId = "byte-buddy-agent" - version = "1.18.4" + version = "1.18.5" } } @@ -154,52 +154,52 @@ dependency { groupId = "org.eclipse.jetty.ee8" artifactId = "jetty-ee8-servlet" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty.ee8" artifactId = "jetty-ee8-nested" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty.ee8" artifactId = "jetty-ee8-security" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-http" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-io" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-security" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-server" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-session" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-util" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "org.eclipse.jetty" artifactId = "jetty-util-ajax" - version = "12.1.5" + version = "12.1.6" } dependency { groupId = "javax.servlet" @@ -273,6 +273,11 @@ artifactId = "slf4j-simple" version = "2.0.17" } + dependency { + groupId = "org.slf4j" + artifactId = "jcl-over-slf4j" + version = "2.0.17" + } } maven xz
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.39.tpd b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.39.tpd index 48725ca..54f7789 100644 --- a/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.39.tpd +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.target/orbit/orbit-4.39.tpd
@@ -22,8 +22,8 @@ org.objectweb.asm.util [9.9.1,9.9.1] org.objectweb.asm.tree [9.9.1,9.9.1] org.objectweb.asm.tree.analysis [9.9.1,9.9.1] - org.objenesis [3.4,3.4] - org.objenesis.source [3.4,3.4] + org.objenesis [3.5.0,3.5.0] + org.objenesis.source [3.5.0,3.5.0] org.osgi.service.cm [1.6.1.202109301733,1.6.1.202109301733] org.osgi.service.cm.source [1.6.1.202109301733,1.6.1.202109301733] }
diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml index 07f6f21..2a73924 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 5f81b7d..28b0ced 100644 --- a/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm.test/META-INF/MANIFEST.MF
@@ -3,31 +3,31 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm.test Bundle-SymbolicName: org.eclipse.jgit.pgm.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.diff;version="[7.6.0,7.7.0)", - org.eclipse.jgit.dircache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.diffmergetool;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.merge;version="[7.6.0,7.7.0)", - org.eclipse.jgit.pgm;version="[7.6.0,7.7.0)", - org.eclipse.jgit.pgm.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.pgm.opt;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)", +Import-Package: org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.diff;version="[7.7.0,7.8.0)", + org.eclipse.jgit.dircache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.diffmergetool;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.merge;version="[7.7.0,7.8.0)", + org.eclipse.jgit.pgm;version="[7.7.0,7.8.0)", + org.eclipse.jgit.pgm.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.pgm.opt;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.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 de0a37a..f41d83d 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm.test</artifactId>
diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF index 95eff34..60e9480 100644 --- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.pgm Bundle-SymbolicName: org.eclipse.jgit.pgm -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -16,50 +16,50 @@ org.eclipse.jetty.server.handler;version="[12.0.0,13.0.0)", org.eclipse.jetty.util;version="[12.0.0,13.0.0)", org.eclipse.jetty.util.component;version="[12.0.0,13.0.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.archive;version="[7.6.0,7.7.0)", - org.eclipse.jgit.awtui;version="[7.6.0,7.7.0)", - org.eclipse.jgit.blame;version="[7.6.0,7.7.0)", - org.eclipse.jgit.diff;version="[7.6.0,7.7.0)", - org.eclipse.jgit.dircache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.gitrepo;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.diffmergetool;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.io;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.midx;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.reftable;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.server;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.server.fs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs.server.s3;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.merge;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.notes;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revplot;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http.apache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.resolver;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.sshd;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.archive;version="[7.7.0,7.8.0)", + org.eclipse.jgit.awtui;version="[7.7.0,7.8.0)", + org.eclipse.jgit.blame;version="[7.7.0,7.8.0)", + org.eclipse.jgit.diff;version="[7.7.0,7.8.0)", + org.eclipse.jgit.dircache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.gitrepo;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.diffmergetool;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.io;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.midx;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.reftable;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.server;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.server.fs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs.server.s3;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.merge;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.notes;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revplot;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http.apache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.resolver;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.sshd;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.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="7.6.0"; +Export-Package: org.eclipse.jgit.console;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util", - org.eclipse.jgit.pgm;version="7.6.0"; + org.eclipse.jgit.pgm;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.io, org.eclipse.jgit.awtui, @@ -71,14 +71,14 @@ org.eclipse.jgit.treewalk, org.eclipse.jgit.api, javax.swing", - org.eclipse.jgit.pgm.debug;version="7.6.0"; + org.eclipse.jgit.pgm.debug;version="7.7.0"; uses:="org.eclipse.jgit.util.io, org.eclipse.jgit.pgm, org.eclipse.jetty.servlet", - org.eclipse.jgit.pgm.internal;version="7.6.0"; + org.eclipse.jgit.pgm.internal;version="7.7.0"; x-friends:="org.eclipse.jgit.pgm.test, org.eclipse.jgit.test", - org.eclipse.jgit.pgm.opt;version="7.6.0"; + org.eclipse.jgit.pgm.opt;version="7.7.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 dcb5519..65901e0 100644 --- a/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.pgm - Sources Bundle-SymbolicName: org.eclipse.jgit.pgm.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.pgm;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.pgm/pom.xml b/org.eclipse.jgit.pgm/pom.xml index f1ead81..1cd2a7c 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.pgm</artifactId>
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/MultiPackIndex.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/MultiPackIndex.java index a7df4fa..81fc0e8 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/MultiPackIndex.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/MultiPackIndex.java
@@ -13,19 +13,13 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; -import java.util.LinkedHashMap; +import org.eclipse.jgit.internal.storage.file.MidxWriter; import org.eclipse.jgit.internal.storage.file.ObjectDirectory; -import org.eclipse.jgit.internal.storage.file.Pack; -import org.eclipse.jgit.internal.storage.file.PackFile; -import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.internal.storage.midx.MultiPackIndexPrettyPrinter; -import org.eclipse.jgit.internal.storage.midx.MultiPackIndexWriter; -import org.eclipse.jgit.internal.storage.pack.PackExt; -import org.eclipse.jgit.lib.NullProgressMonitor; +import org.eclipse.jgit.lib.TextProgressMonitor; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; @@ -85,22 +79,7 @@ private void writeMultiPackIndex() throws IOException { errw.println("Writing " + midx.getAbsolutePath()); ObjectDirectory odb = (ObjectDirectory) db.getObjectDatabase(); - - LinkedHashMap<String, PackIndex> indexes = new LinkedHashMap<>(); - for (Pack pack : odb.getPacks()) { - PackFile packFile = pack.getPackFile().create(PackExt.INDEX); - try { - indexes.put(packFile.getName(), pack.getIndex()); - } catch (IOException e) { - throw die("Cannot open index in pack", e); - } - } - - MultiPackIndexWriter writer = new MultiPackIndexWriter(); - try (FileOutputStream out = new FileOutputStream(midxPath)) { - writer.write(NullProgressMonitor.INSTANCE, out, indexes); - } catch (IOException e) { - throw die("Cannot write midx " + midxPath, e); - } + MidxWriter.writeMidx(new TextProgressMonitor(errw), odb.getPacks(), + midx); } }
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 2ef7256..1dc3728 100644 --- a/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache.agent/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@ Bundle-ManifestVersion: 2 Bundle-Name: %Bundle-Name Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.agent;singleton:=true -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/agent Bundle-Vendor: %Bundle-Vendor -Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[7.6.0,7.7.0)" +Fragment-Host: org.eclipse.jgit.ssh.apache;bundle-version="[7.7.0,7.8.0)" Bundle-ActivationPolicy: lazy Automatic-Module-Name: org.eclipse.jgit.ssh.apache.agent Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Import-Package: org.eclipse.jgit.transport.sshd;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)" +Import-Package: org.eclipse.jgit.transport.sshd;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.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="7.6.0";x-internal:=true +Export-Package: org.eclipse.jgit.internal.transport.sshd.agent.connector;version="7.7.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 56d463f..a085c04 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,6 +3,6 @@ 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: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache.agent;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.ssh.apache.agent/pom.xml b/org.eclipse.jgit.ssh.apache.agent/pom.xml index 9c2bf03..4d7b7c2 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 d2bf5ae..ae9e11e 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-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.apache.test Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -26,22 +26,22 @@ org.apache.sshd.core;version="[2.17.1,2.18.0)", org.apache.sshd.server;version="[2.17.1,2.18.0)", org.apache.sshd.server.forward;version="[2.17.1,2.18.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.signing.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.sshd;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.sshd.proxy;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.sshd;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.sshd.agent;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.signing.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.sshd;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.sshd.proxy;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.sshd;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.sshd.agent;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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 5a9057f..2ab6c39 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 7a7d7e1..2647126 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/MANIFEST.MF
@@ -6,11 +6,11 @@ Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/plugin Bundle-ActivationPolicy: lazy -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.internal.signing.ssh;version="7.6.0";x-friends:="org.eclipse.jgit.ssh.apache.test", - org.eclipse.jgit.internal.transport.sshd;version="7.6.0";x-friends:="org.eclipse.jgit.ssh.apache.test"; +Export-Package: org.eclipse.jgit.internal.signing.ssh;version="7.7.0";x-friends:="org.eclipse.jgit.ssh.apache.test", + org.eclipse.jgit.internal.transport.sshd;version="7.7.0";x-friends:="org.eclipse.jgit.ssh.apache.test"; uses:="org.apache.sshd.client, org.apache.sshd.client.auth, org.apache.sshd.client.auth.keyboard, @@ -25,20 +25,20 @@ org.apache.sshd.common.signature, org.apache.sshd.common.util.buffer, org.eclipse.jgit.transport", - org.eclipse.jgit.internal.transport.sshd.agent;version="7.6.0";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.auth;version="7.6.0";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.pkcs11;version="7.6.0";x-internal:=true, - org.eclipse.jgit.internal.transport.sshd.proxy;version="7.6.0";x-friends:="org.eclipse.jgit.ssh.apache.test", - org.eclipse.jgit.signing.ssh;version="7.6.0";uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.transport.sshd;version="7.6.0"; + org.eclipse.jgit.internal.transport.sshd.agent;version="7.7.0";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.auth;version="7.7.0";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.pkcs11;version="7.7.0";x-internal:=true, + org.eclipse.jgit.internal.transport.sshd.proxy;version="7.7.0";x-friends:="org.eclipse.jgit.ssh.apache.test", + org.eclipse.jgit.signing.ssh;version="7.7.0";uses:="org.eclipse.jgit.lib", + org.eclipse.jgit.transport.sshd;version="7.7.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="7.6.0" -Import-Package: org.bouncycastle.jce.provider;version="[1.80.0,2.0.0)", + org.eclipse.jgit.transport.sshd.agent;version="7.7.0" +Import-Package: org.bouncycastle.jce.provider;version="[1.83.0,2.0.0)", org.apache.sshd.agent;version="[2.17.1,2.18.0)", org.apache.sshd.client;version="[2.17.1,2.18.0)", org.apache.sshd.client.auth;version="[2.17.1,2.18.0)", @@ -91,14 +91,14 @@ org.apache.sshd.sftp;version="[2.17.1,2.18.0)", org.apache.sshd.sftp.client;version="[2.17.1,2.18.0)", org.apache.sshd.sftp.common;version="[2.17.1,2.18.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.fnmatch;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.fnmatch;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.slf4j;version="[1.7.0,3.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 5ef864b..fa44087 100644 --- a/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.apache/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.ssh.apache - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.apache.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.ssh.apache;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.ssh.apache/pom.xml b/org.eclipse.jgit.ssh.apache/pom.xml index 3edf6e6..18cba18 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.apache</artifactId>
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 4632a36..73ef145 100644 --- a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF
@@ -3,20 +3,20 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ssh.jsch.test Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git Import-Package: com.jcraft.jsch;version="[0.1.54,0.2.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.ssh.jsch;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.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 70b0af0..176c91d 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 436d251..9093f85 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF
@@ -3,20 +3,20 @@ 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="[7.6.0,7.7.0)" +Fragment-Host: org.eclipse.jgit;bundle-version="[7.7.0,7.8.0)" Bundle-Vendor: %Bundle-Vendor Bundle-Localization: OSGI-INF/l10n/jsch Bundle-ActivationPolicy: lazy -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="7.6.0" +Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="7.7.0" Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.0)", org.slf4j;version="[1.7.0,3.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 7cba329..4863dae 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.ssh.jsch - Sources Bundle-SymbolicName: org.eclipse.jgit.ssh.jsch.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.ssh.jsch;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.ssh.jsch/pom.xml b/org.eclipse.jgit.ssh.jsch/pom.xml index 91caa5e..b8e2e4c 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ssh.jsch</artifactId>
diff --git a/org.eclipse.jgit.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.test/META-INF/MANIFEST.MF index bee0f49..36a9e4f 100644 --- a/org.eclipse.jgit.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.test/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.test Bundle-SymbolicName: org.eclipse.jgit.test -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-17 @@ -21,66 +21,66 @@ org.apache.commons.io.output;version="[2.15.0,3.0.0)", org.apache.commons.lang3;version="[3.17.0,4.0.0)", org.assertj.core.api;version="[3.14.0,4.0.0)", - org.eclipse.jgit.annotations;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api;version="[7.6.0,7.7.0)", - org.eclipse.jgit.api.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.archive;version="[7.6.0,7.7.0)", - org.eclipse.jgit.attributes;version="[7.6.0,7.7.0)", - org.eclipse.jgit.awtui;version="[7.6.0,7.7.0)", - org.eclipse.jgit.blame;version="[7.6.0,7.7.0)", - org.eclipse.jgit.blame.cache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.diff;version="[7.6.0,7.7.0)", - org.eclipse.jgit.dircache;version="[7.6.0,7.7.0)", - org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.events;version="[7.6.0,7.7.0)", - org.eclipse.jgit.fnmatch;version="[7.6.0,7.7.0)", - org.eclipse.jgit.gitrepo;version="[7.6.0,7.7.0)", - org.eclipse.jgit.hooks;version="[7.6.0,7.7.0)", - org.eclipse.jgit.ignore;version="[7.6.0,7.7.0)", - org.eclipse.jgit.ignore.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.diff;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.diffmergetool;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.fsck;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.commitgraph;version="7.6.0", - org.eclipse.jgit.internal.storage.dfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.io;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.memory;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.midx;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.storage.reftable;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.connectivity;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.parser;version="[7.6.0,7.7.0)", - org.eclipse.jgit.internal.transport.ssh;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit;version="[7.6.0,7.7.0)", - org.eclipse.jgit.junit.time;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lfs;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.logging;version="[7.6.0,7.7.0)", - org.eclipse.jgit.merge;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.notes;version="[7.6.0,7.7.0)", - org.eclipse.jgit.patch;version="[7.6.0,7.7.0)", - org.eclipse.jgit.pgm;version="[7.6.0,7.7.0)", - org.eclipse.jgit.pgm.internal;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revplot;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.file;version="[7.6.0,7.7.0)", - org.eclipse.jgit.storage.pack;version="[7.6.0,7.7.0)", - org.eclipse.jgit.submodule;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.http;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport.resolver;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.treewalk.filter;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.io;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util.sha1;version="[7.6.0,7.7.0)", + org.eclipse.jgit.annotations;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api;version="[7.7.0,7.8.0)", + org.eclipse.jgit.api.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.archive;version="[7.7.0,7.8.0)", + org.eclipse.jgit.attributes;version="[7.7.0,7.8.0)", + org.eclipse.jgit.awtui;version="[7.7.0,7.8.0)", + org.eclipse.jgit.blame;version="[7.7.0,7.8.0)", + org.eclipse.jgit.blame.cache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.diff;version="[7.7.0,7.8.0)", + org.eclipse.jgit.dircache;version="[7.7.0,7.8.0)", + org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.events;version="[7.7.0,7.8.0)", + org.eclipse.jgit.fnmatch;version="[7.7.0,7.8.0)", + org.eclipse.jgit.gitrepo;version="[7.7.0,7.8.0)", + org.eclipse.jgit.hooks;version="[7.7.0,7.8.0)", + org.eclipse.jgit.ignore;version="[7.7.0,7.8.0)", + org.eclipse.jgit.ignore.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.diff;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.diffmergetool;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.fsck;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.commitgraph;version="7.7.0", + org.eclipse.jgit.internal.storage.dfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.io;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.memory;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.midx;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.storage.reftable;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.connectivity;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.parser;version="[7.7.0,7.8.0)", + org.eclipse.jgit.internal.transport.ssh;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit;version="[7.7.0,7.8.0)", + org.eclipse.jgit.junit.time;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lfs;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.logging;version="[7.7.0,7.8.0)", + org.eclipse.jgit.merge;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.notes;version="[7.7.0,7.8.0)", + org.eclipse.jgit.patch;version="[7.7.0,7.8.0)", + org.eclipse.jgit.pgm;version="[7.7.0,7.8.0)", + org.eclipse.jgit.pgm.internal;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revplot;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.file;version="[7.7.0,7.8.0)", + org.eclipse.jgit.storage.pack;version="[7.7.0,7.8.0)", + org.eclipse.jgit.submodule;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.http;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport.resolver;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.treewalk.filter;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.io;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util.sha1;version="[7.7.0,7.8.0)", org.hamcrest;version="[3.0.0,4.0.0)", org.hamcrest.collection;version="[3.0.0,4.0.0)", org.junit;version="[4.13,5.0.0)",
diff --git a/org.eclipse.jgit.test/exttst/org/eclipse/jgit/internal/storage/midx/CgitMidxCompatibilityTest.java b/org.eclipse.jgit.test/exttst/org/eclipse/jgit/internal/storage/midx/CgitMidxCompatibilityTest.java index 334e52b..3aa6d69 100644 --- a/org.eclipse.jgit.test/exttst/org/eclipse/jgit/internal/storage/midx/CgitMidxCompatibilityTest.java +++ b/org.eclipse.jgit.test/exttst/org/eclipse/jgit/internal/storage/midx/CgitMidxCompatibilityTest.java
@@ -25,13 +25,10 @@ import java.nio.file.Files; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.eclipse.jgit.internal.storage.file.Pack; import org.eclipse.jgit.internal.storage.file.PackFile; -import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.internal.storage.pack.PackExt; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.test.resources.SampleDataRepositoryTestCase; @@ -93,15 +90,15 @@ public void jgit_loadsCgitMidx() } private byte[] generateJGitMidx() throws IOException { - Map<String, PackIndex> indexes = new HashMap<>(); + PackIndexMerger.Builder builder = PackIndexMerger.builder(); for (Pack pack : db.getObjectDatabase().getPacks()) { PackFile packFile = pack.getPackFile().create(PackExt.INDEX); - indexes.put(packFile.getName(), pack.getIndex()); + builder.addPack(packFile.getName(), pack.getIndex()); } MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, indexes); + writer.write(NullProgressMonitor.INSTANCE, out, builder.build()); return out.toByteArray(); }
diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml index 387f168..92a7597 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.test</artifactId>
diff --git a/org.eclipse.jgit.test/src/org/eclipse/jgit/internal/storage/dfs/MidxTestUtils.java b/org.eclipse.jgit.test/src/org/eclipse/jgit/internal/storage/dfs/MidxTestUtils.java index c5210c8..e155f5d 100644 --- a/org.eclipse.jgit.test/src/org/eclipse/jgit/internal/storage/dfs/MidxTestUtils.java +++ b/org.eclipse.jgit.test/src/org/eclipse/jgit/internal/storage/dfs/MidxTestUtils.java
@@ -150,8 +150,12 @@ static DfsPackFileMidx writeMultipackIndex(DfsRepository db, Arrays.asList(packs), base != null ? base.getPackDescription() : null, packConfig); db.getObjectDatabase().commitPack(List.of(desc), null); + + // "packs" argument can have a midx and its base in the list. + List<DfsPackFile> allPlainPacks = MidxPackList + .create(db.getObjectDatabase().getPacks()).getAllPlainPacks(); return DfsPackFileMidx.create(DfsBlockCache.getInstance(), desc, - Arrays.asList(packs), base); + allPlainPacks, base); } record CommitObjects(RevCommit commit, RevTree tree, RevBlob blob) { @@ -169,9 +173,7 @@ static List<CommitObjects> writeCommitChain(DfsRepository db, } try (TestRepository<InMemoryRepository> repository = new TestRepository<>( - (InMemoryRepository) db); - DfsInserter ins = (DfsInserter) db.getObjectDatabase() - .newInserter()) { + (InMemoryRepository) db)) { for (int i = 0; i < length; i++) { RevBlob blob = repository.blob("blob" + commitCounter);
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java index 2266772..0d87109 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java
@@ -27,6 +27,7 @@ import java.io.OutputStream; import java.io.PrintWriter; import java.nio.file.Files; +import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -110,6 +111,46 @@ public void testAddExistingSingleFile() throws IOException, GitAPIException { } @Test + public void testAddExistingMultipleFiles() + throws IOException, GitAPIException { + File file = new File(db.getWorkTree(), "a.txt"); + FileUtils.createNewFile(file); + file = new File(db.getWorkTree(), "b.txt"); + FileUtils.createNewFile(file); + try (PrintWriter writer = new PrintWriter(file, UTF_8.name())) { + writer.print("content"); + } + + try (Git git = new Git(db)) { + git.add().addFilepatterns("a.txt", "b.txt").call(); + + assertEquals( + "[a.txt, mode:100644, content:][b.txt, mode:100644, content:content]", + indexState(CONTENT)); + } + } + + @Test + public void testAddExistingMultipleFilesCollection() + throws IOException, GitAPIException { + File file = new File(db.getWorkTree(), "a.txt"); + FileUtils.createNewFile(file); + file = new File(db.getWorkTree(), "b.txt"); + FileUtils.createNewFile(file); + try (PrintWriter writer = new PrintWriter(file, UTF_8.name())) { + writer.print("content"); + } + + try (Git git = new Git(db)) { + git.add().addFilepatterns(List.of("a.txt", "b.txt")).call(); + + assertEquals( + "[a.txt, mode:100644, content:][b.txt, mode:100644, content:content]", + indexState(CONTENT)); + } + } + + @Test public void testAddLink() throws IOException, GitAPIException { assumeTrue(db.getFS().supportsSymlinks()); try (Git git = new Git(db)) {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java index 3f5c5da..cb91b12 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CherryPickCommandTest.java
@@ -11,6 +11,8 @@ import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL; import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL_WITH_REFERENCE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -22,6 +24,7 @@ import java.util.Iterator; import org.eclipse.jgit.api.CherryPickResult.CherryPickStatus; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.ResetCommand.ResetType; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.JGitInternalException; @@ -396,6 +399,23 @@ public void testCherryPickConflictMarkers() throws Exception { } @Test + public void testCherryPickConflictDiff3Markers() throws Exception { + try (Git git = new Git(db)) { + RevCommit sideCommit = prepareCherryPick(git); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + CherryPickResult result = git.cherryPick() + .include(sideCommit.getId()).call(); + assertEquals(CherryPickStatus.CONFLICTING, result.getStatus()); + + String expected = "<<<<<<< master\na(master)\n||||||| BASE\na\n=======\na(side)\n>>>>>>> 527460a side\n"; + checkFile(new File(db.getWorkTree(), "a"), expected); + } + } + + @Test public void testCherryPickConflictFiresModifiedEvent() throws Exception { ListenerHandle listener = null; try (Git git = new Git(db)) {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java index 1ec5067..086e261 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/MergeCommandTest.java
@@ -10,6 +10,8 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.MASTER; import static org.eclipse.jgit.lib.Constants.R_HEADS; import static org.junit.Assert.assertEquals; @@ -27,6 +29,7 @@ import java.util.Iterator; import java.util.regex.Pattern; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeCommand.FastForwardMode; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.ResetCommand.ResetType; @@ -2220,4 +2223,37 @@ private void checkMergeFailedResult(final MergeResult result, assertEquals(null, result.getConflicts()); assertEquals(RepositoryState.SAFE, db.getRepositoryState()); } + + @Test + public void testDiff3ConflictStyle() throws Exception { + try (Git git = new Git(db)) { + writeTrashFile("a", "1\na\n3\n"); + git.add().addFilepattern("a").call(); + RevCommit initialCommit = git.commit().setMessage("initial").call(); + + createBranch(initialCommit, "refs/heads/side"); + checkoutBranch("refs/heads/side"); + + writeTrashFile("a", "1\na(side)\n3\n"); + git.add().addFilepattern("a").call(); + RevCommit secondCommit = git.commit().setMessage("side").call(); + + checkoutBranch("refs/heads/master"); + + writeTrashFile("a", "1\na(main)\n3\n"); + git.add().addFilepattern("a").call(); + git.commit().setMessage("main").call(); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + MergeResult result = git.merge().include(secondCommit.getId()) + .setStrategy(MergeStrategy.RESOLVE).call(); + assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus()); + + assertEquals( + "1\n<<<<<<< HEAD\na(main)\n||||||| BASE\na\n=======\na(side)\n>>>>>>> d97aebf6e0bbdb3f21f8a22ec8cbf1ac24d986d8\n3\n", + read(new File(db.getWorkTree(), "a"))); + } + } }
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java index 695681d..8d6e7bc 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java
@@ -10,6 +10,8 @@ package org.eclipse.jgit.api; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -25,6 +27,7 @@ import java.util.concurrent.Callable; import org.eclipse.jgit.api.CreateBranchCommand.SetupUpstreamMode; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.errors.NoHeadException; import org.eclipse.jgit.junit.JGitTestUtil; @@ -163,6 +166,40 @@ public void testPullConflict() throws Exception { } @Test + public void testPullConflictDiff3() throws Exception { + PullResult res = target.pull().call(); + // nothing to update since we don't have different data yet + assertTrue(res.getFetchResult().getTrackingRefUpdates().isEmpty()); + assertTrue(res.getMergeResult().getMergeStatus() + .equals(MergeStatus.ALREADY_UP_TO_DATE)); + + assertFileContentsEqual(targetFile, "Hello world"); + + // change the source file + writeToFile(sourceFile, "Source change"); + source.add().addFilepattern("SomeFile.txt").call(); + source.commit().setMessage("Source change in remote").call(); + + // change the target file + writeToFile(targetFile, "Target change"); + target.add().addFilepattern("SomeFile.txt").call(); + target.commit().setMessage("Target change in local").call(); + + target.getRepository().getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + target.pull().call(); + + String sourceChangeString = "Source change\n>>>>>>> branch 'master' of " + + target.getRepository().getConfig().getString("remote", + "origin", "url"); + + assertFileContentsEqual(targetFile, "<<<<<<< HEAD\n" + "Target change\n" + + "||||||| BASE\n" + "Hello world\n" + "=======\n" + + sourceChangeString + "\n"); + } + + @Test public void testPullConflictTheirs() throws Exception { PullResult res = target.pull().call(); // nothing to update since we don't have different data yet
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java index 4c8cf06..d99c285 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
@@ -10,6 +10,8 @@ package org.eclipse.jgit.api; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; @@ -30,6 +32,7 @@ import java.util.Iterator; import java.util.List; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.RebaseCommand.InteractiveHandler; import org.eclipse.jgit.api.RebaseCommand.InteractiveHandler2; @@ -371,6 +374,43 @@ public void testRebaseNoMergeBaseConflict() throws Exception { } /** + * Create a commit A and an unrelated commit B creating the same file with + * different content. Then rebase A onto B. The rebase should stop with a + * conflict and the conflict style should be DIFF3. + * + * @throws Exception on errors + */ + @Test + public void testRebaseNoMergeBaseConflictDiff3() throws Exception { + writeTrashFile(FILE1, FILE1); + git.add().addFilepattern(FILE1).call(); + RevCommit first = git.commit().setMessage("Add file").call(); + File file1 = new File(db.getWorkTree(), FILE1); + assertTrue(file1.exists()); + // Create an independent branch + git.checkout().setOrphan(true).setName("orphan").call(); + git.rm().addFilepattern(FILE1).call(); + assertFalse(file1.exists()); + writeTrashFile(FILE1, "something else"); + git.add().addFilepattern(FILE1).call(); + git.commit().setMessage("Orphan").call(); + checkoutBranch("refs/heads/master"); + assertEquals(first.getId(), db.resolve("HEAD")); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + RebaseResult res = git.rebase().setUpstream("refs/heads/orphan").call(); + assertEquals(Status.STOPPED, res.getStatus()); + assertEquals(first, res.getCurrentCommit()); + checkFile(file1, + "<<<<<<< Upstream, based on orphan\n" + "something else\n" + + "||||||| BASE\n" + "=======\n" + "file1\n" + + ">>>>>>> " + + first.abbreviate(7).name() + " Add file\n"); + } + + /** * Create the following commits and then attempt to rebase topic onto * master. This will serialize the branches. *
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RevertCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RevertCommandTest.java index 89fdb32..a7a1dff 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RevertCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RevertCommandTest.java
@@ -9,6 +9,8 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.OBJECT_ID_ABBREV_STRING_LENGTH; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -20,6 +22,7 @@ import java.io.IOException; import java.util.Iterator; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.ResetCommand.ResetType; import org.eclipse.jgit.api.errors.GitAPIException; @@ -377,6 +380,25 @@ public void testRevertConflictMarkers() throws Exception { } @Test + public void testRevertConflictMarkersDiff3() throws Exception { + try (Git git = new Git(db)) { + RevCommit sideCommit = prepareRevert(git); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + RevertCommand revert = git.revert(); + RevCommit newHead = revert.include(sideCommit.getId()).call(); + assertNull(newHead); + MergeResult result = revert.getFailingResult(); + assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus()); + + String expected = "<<<<<<< master\na(latest)\n||||||| BASE\na(previous)\n=======\na\n>>>>>>> ca96c31 second master\n"; + checkFile(new File(db.getWorkTree(), "a"), expected); + } + } + + @Test public void testRevertOurCommitName() throws Exception { try (Git git = new Git(db)) { RevCommit sideCommit = prepareRevert(git);
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java index 49b31b1..b169fac 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/StashApplyCommandTest.java
@@ -9,15 +9,19 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.io.File; import java.text.MessageFormat; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.errors.InvalidRefNameException; import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.api.errors.NoHeadException; @@ -429,6 +433,43 @@ public void stashedContentMerge() throws Exception { } @Test + public void stashedContentMergeDiff3() throws Exception { + writeTrashFile(PATH, "content\nmore content\n"); + git.add().addFilepattern(PATH).call(); + git.commit().setMessage("more content").call(); + + writeTrashFile(PATH, "content\nhead change\nmore content\n"); + git.add().addFilepattern(PATH).call(); + git.commit().setMessage("even content").call(); + + writeTrashFile(PATH, "content\nstashed change\nmore content\n"); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + RevCommit stashed = git.stashCreate().call(); + assertNotNull(stashed); + assertEquals("content\nhead change\nmore content\n", + read(committedFile)); + assertTrue(git.status().call().isClean()); + recorder.assertEvent(new String[] { PATH }, ChangeRecorder.EMPTY); + + writeTrashFile(PATH, "content\nmore content\ncommitted change\n"); + git.add().addFilepattern(PATH).call(); + git.commit().setMessage("committed change").call(); + recorder.assertNoEvent(); + + assertThrows(StashApplyFailureException.class, + () -> git.stashApply().call()); + recorder.assertEvent(new String[] { PATH }, ChangeRecorder.EMPTY); + Status status = new StatusCommand(db).call(); + assertEquals(1, status.getConflicting().size()); + assertEquals( + "content\n<<<<<<< HEAD\n||||||| stashed HEAD\nhead change\n=======\nstashed change\n>>>>>>> stash\nmore content\ncommitted change\n", + read(PATH)); + } + + @Test public void stashedContentMergeXtheirs() throws Exception { writeTrashFile(PATH, "content\nmore content\n"); git.add().addFilepattern(PATH).call();
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java index c5acb95..01eab37 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollectorTest.java
@@ -1498,7 +1498,7 @@ private static DfsPackFile findFirstBySource(DfsPackFile[] packs, PackSource sou private DfsPackDescription midx(List<DfsPackFile> coveredPacks, DfsPackDescription base) throws IOException { DfsPackDescription midx = DfsMidxWriter.writeMidx(NULL_PM, odb, - coveredPacks, base); + coveredPacks, base, null); git.tick(1); midx.setLastModified(git.getInstant().toEpochMilli()); return midx;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterBitmapsTest.java similarity index 98% rename from org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterTest.java rename to org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterBitmapsTest.java index ac89baa..0872dd4 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriterBitmapsTest.java
@@ -37,7 +37,7 @@ import com.googlecode.javaewah.EWAHCompressedBitmap; @RunWith(Parameterized.class) -public class DfsMidxWriterTest { +public class DfsMidxWriterBitmapsTest { @Parameterized.Parameters(name = "{0}") public static Iterable<TestInput> data() throws Exception { @@ -55,7 +55,7 @@ public String toString() { private TestInput ti; - public DfsMidxWriterTest(TestInput ti) { + public DfsMidxWriterBitmapsTest(TestInput ti) { this.ti = ti; }
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/MidxPackListTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/MidxPackListTest.java index f20ca38..c275c32 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/MidxPackListTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/MidxPackListTest.java
@@ -327,7 +327,7 @@ private DfsPackFileMidx writeMultipackIndex(DfsPackFile[] packs, List<DfsPackFile> packfiles = asList(packs); DfsPackDescription desc = DfsMidxWriter.writeMidx( NullProgressMonitor.INSTANCE, db.getObjectDatabase(), packfiles, - base != null ? base.getPackDescription() : null); + base != null ? base.getPackDescription() : null, null); db.getObjectDatabase().commitPack(List.of(desc), null); return DfsPackFileMidx.create(DfsBlockCache.getInstance(), desc, packfiles, base);
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalkTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalkTest.java index 321ea01..728feea 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalkTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalkTest.java
@@ -19,6 +19,7 @@ import java.util.Set; import java.util.stream.Collectors; +import org.eclipse.jgit.internal.revwalk.RefAdvancerWalk; import org.eclipse.jgit.junit.TestRepository; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.revwalk.RevCommit;
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MidxIteratorsTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MidxIteratorsTest.java new file mode 100644 index 0000000..3105423 --- /dev/null +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MidxIteratorsTest.java
@@ -0,0 +1,434 @@ +/* + * Copyright (C) 2026, 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.midx; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.IntStream; + +import org.eclipse.jgit.internal.storage.file.PackIndex; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MidxIterator; +import org.eclipse.jgit.junit.FakeIndexFactory; +import org.eclipse.jgit.lib.ObjectId; +import org.junit.Test; + +public class MidxIteratorsTest { + private final static String OID_PREFIX = "0000000000000000000000000000000000"; + + @Test + public void fromPackIndexIterator_basicIteration() { + PackIndex index1 = indexOf(object("000001", 500), + object("000003", 3000), object("000005", 1500)); + + MidxIterator it = MidxIterators.fromPackIndexIterator("index1", index1); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000003", 0, 3000); + assertNextEntry(it, "000005", 0, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void fromPackIndexIterator_peek() { + PackIndex index1 = indexOf(object("000001", 500), + object("000003", 3000), object("000005", 1500)); + + MidxIterator it = MidxIterators.fromPackIndexIterator("index1", index1); + assertPeekEntry(it, "000001", 0, 500); + assertPeekEntry(it, "000001", 0, 500); + assertNextEntry(it, "000001", 0, 500); + + assertPeekEntry(it, "000003", 0, 3000); + assertPeekEntry(it, "000003", 0, 3000); + assertNextEntry(it, "000003", 0, 3000); + + assertPeekEntry(it, "000005", 0, 1500); + assertPeekEntry(it, "000005", 0, 1500); + assertNextEntry(it, "000005", 0, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void fromPackIndexIterator_reset() { + PackIndex index1 = indexOf(object("000001", 500), + object("000003", 3000), object("000005", 1500)); + + MidxIterator it = MidxIterators.fromPackIndexIterator("index1", index1); + while (it.hasNext()) { + it.next(); + } + it.reset(); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000003", 0, 3000); + + it.reset(); + assertPeekEntry(it, "000001", 0, 500); + } + + @Test + public void fromPackIndexIterator_getPackNames() { + PackIndex index1 = indexOf(object("000001", 500), + object("000003", 1500), object("000005", 3000)); + MidxIterator it = MidxIterators.fromPackIndexIterator("index1", index1); + assertEquals(List.of("index1"), it.getPackNames()); + } + + @Test + public void fromPackIndexIterator_empty() { + MidxIterator it = MidxIterators.fromPackIndexIterator("index1", + indexOf()); + assertFalse(it.hasNext()); + } + + @Test + public void join_basicIteration() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000002", 0, 500), + new IndexEntry("000004", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000002", 2, 500); + assertNextEntry(it, "000003", 1, 1500); + assertNextEntry(it, "000004", 3, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void join_basicIteration_packIndexIterators() { + PackIndex idxOne = indexOf(object("000001", 500), + object("000003", 1500), object("000005", 3000)); + + PackIndex idxTwo = indexOf(object("000002", 500), + object("000003", 1500), object("000004", 3000)); + + List<MidxIterator> packIts = List.of( + MidxIterators.fromPackIndexIterator("index1", idxOne), + MidxIterators.fromPackIndexIterator("index2", idxTwo)); + MidxIterator it = MidxIterators.join(packIts); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000002", 1, 500); + assertNextEntry(it, "000003", 0, 1500); + assertNextEntry(it, "000003", 1, 1500); + assertNextEntry(it, "000004", 1, 3000); + assertNextEntry(it, "000005", 0, 3000); + assertFalse(it.hasNext()); + } + + @Test + public void join_duplicates_inPackIdOrder() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 501), + new IndexEntry("000003", 1, 1501))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertNextEntry(it, "000001", 0, 501); + assertNextEntry(it, "000001", 2, 500); + assertNextEntry(it, "000003", 1, 1501); + assertNextEntry(it, "000003", 3, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void join_duplicates_inPackIdOrder_shift() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 5, + List.of(new IndexEntry("000001", 4, 501), + new IndexEntry("000003", 2, 1501))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertNextEntry(it, "000001", 4, 501); + assertNextEntry(it, "000001", 5, 500); + assertNextEntry(it, "000003", 2, 1501); + assertNextEntry(it, "000003", 6, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void join_peek() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000002", 0, 500), + new IndexEntry("000004", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertPeekEntry(it, "000001", 0, 500); + assertPeekEntry(it, "000001", 0, 500); + assertNextEntry(it, "000001", 0, 500); + + assertPeekEntry(it, "000002", 2, 500); + assertPeekEntry(it, "000002", 2, 500); + assertNextEntry(it, "000002", 2, 500); + + assertPeekEntry(it, "000003", 1, 1500); + assertPeekEntry(it, "000003", 1, 1500); + assertNextEntry(it, "000003", 1, 1500); + + assertPeekEntry(it, "000004", 3, 1500); + assertPeekEntry(it, "000004", 3, 1500); + assertNextEntry(it, "000004", 3, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void join_reset() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000002", 0, 500), + new IndexEntry("000004", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + while (it.hasNext()) { + it.next(); + } + + it.reset(); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000002", 2, 500); + + it.reset(); + assertPeekEntry(it, "000001", 0, 500); + } + + @Test + public void join_getPackNames() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000003", 1, 1500))); + + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000002", 0, 500), + new IndexEntry("000004", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertEquals(List.of("itOne0", "itOne1", "itTwo0", "itTwo1"), + it.getPackNames()); + } + + @Test + public void join_empty_totallyEmpty() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, List.of()); + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, List.of()); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + assertFalse(it.hasNext()); + } + + @Test + public void join_empty_oneSideEmpty() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, List.of()); + FakeMidxIterator itTwo = FakeMidxIterator.from("itTwo", 2, + List.of(new IndexEntry("000002", 0, 500), + new IndexEntry("000004", 1, 1500))); + + MidxIterator it = MidxIterators.join(List.of(itOne, itTwo)); + // Even when empty, the first iterator occupies the packIds + assertNextEntry(it, "000002", 2, 500); + assertNextEntry(it, "000004", 3, 1500); + assertFalse(it.hasNext()); + } + + @Test + public void dedup_basicIteration() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000001", 1, 600), + new IndexEntry("000003", 0, 1500), + new IndexEntry("000003", 1, 1501))); + MidxIterator dedup = MidxIterators.dedup(itOne); + assertNextEntry(dedup, "000001", 0, 500); + assertNextEntry(dedup, "000003", 0, 1500); + assertFalse(dedup.hasNext()); + } + + @Test + public void dedup_peek() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000001", 1, 600), + new IndexEntry("000003", 0, 1500), + new IndexEntry("000003", 1, 1501))); + + MidxIterator it = MidxIterators.dedup(itOne); + assertPeekEntry(it, "000001", 0, 500); + assertPeekEntry(it, "000001", 0, 500); + assertNextEntry(it, "000001", 0, 500); + + assertPeekEntry(it, "000003", 0, 1500); + assertPeekEntry(it, "000003", 0, 1500); + assertNextEntry(it, "000003", 0, 1500); + + assertFalse(it.hasNext()); + } + + @Test + public void dedup_reset() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000001", 1, 600), + new IndexEntry("000003", 0, 1500), + new IndexEntry("000003", 1, 1501), + new IndexEntry("000005", 0, 200), + new IndexEntry("000005", 1, 201))); + + MidxIterator it = MidxIterators.dedup(itOne); + while (it.hasNext()) { + it.next(); + } + it.reset(); + assertNextEntry(it, "000001", 0, 500); + assertNextEntry(it, "000003", 0, 1500); + + it.reset(); + assertPeekEntry(it, "000001", 0, 500); + } + + @Test + public void dedup_reset_sameElement() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 2, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000001", 1, 600), + new IndexEntry("000001", 2, 1500), + new IndexEntry("000001", 3, 1501), + new IndexEntry("000001", 4, 200), + new IndexEntry("000001", 5, 201))); + + MidxIterator it = MidxIterators.dedup(itOne); + while (it.hasNext()) { + it.next(); + } + it.reset(); + assertNextEntry(it, "000001", 0, 500); + + it.reset(); + assertPeekEntry(it, "000001", 0, 500); + } + + @Test + public void dedup_getPackNames() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 4, + List.of(new IndexEntry("000001", 0, 500), + new IndexEntry("000001", 1, 600), + new IndexEntry("000003", 2, 1500), + new IndexEntry("000003", 3, 1501))); + MidxIterator dedup = MidxIterators.dedup(itOne); + assertEquals(List.of("itOne0", "itOne1", "itOne2", "itOne3"), + dedup.getPackNames()); + } + + @Test + public void dedup_getEmpty() { + FakeMidxIterator itOne = FakeMidxIterator.from("itOne", 4, List.of()); + MidxIterator dedup = MidxIterators.dedup(itOne); + assertFalse(dedup.hasNext()); + } + + private static void assertNextEntry(MidxIterator it, String shortOid, + int packId, int offset) { + assertTrue("expected to have more items", it.hasNext()); + MultiPackIndex.MutableEntry e = it.next(); + assertEquals(OID_PREFIX + shortOid, e.getObjectId().name()); + assertEquals(packId, e.getPackId()); + assertEquals(offset, e.getOffset()); + } + + private static void assertPeekEntry(MidxIterator it, String shortOid, + int packId, int offset) { + assertTrue(it.hasNext()); + MultiPackIndex.MutableEntry e = it.peek(); + assertEquals(OID_PREFIX + shortOid, e.getObjectId().name()); + assertEquals(packId, e.getPackId()); + assertEquals(offset, e.getOffset()); + } + + private static PackIndex indexOf(FakeIndexFactory.IndexObject... objs) { + return FakeIndexFactory.indexOf(Arrays.asList(objs)); + } + + private static FakeIndexFactory.IndexObject object(String name, + long offset) { + return new FakeIndexFactory.IndexObject(OID_PREFIX + name, offset); + } + + private static class FakeMidxIterator implements MidxIterator { + private final List<String> packNames; + + private final List<IndexEntry> entries; + + private int position; + + static FakeMidxIterator from(String packNameBase, int packCount, + List<IndexEntry> entries) { + List<String> packNames = IntStream.range(0, packCount) + .mapToObj(i -> packNameBase + i).toList(); + return new FakeMidxIterator(packNames, entries); + } + + private FakeMidxIterator(List<String> packNames, + List<IndexEntry> entries) { + this.entries = entries; + this.packNames = packNames; + } + + @Override + public MultiPackIndex.MutableEntry peek() { + return entries.get(position).asMutableEntry(); + } + + @Override + public List<String> getPackNames() { + return packNames; + } + + @Override + public boolean hasNext() { + return position < entries.size(); + } + + @Override + public MultiPackIndex.MutableEntry next() { + return entries.get(position++).asMutableEntry(); + } + + @Override + public void reset() { + position = 0; + } + } + + record IndexEntry(String shortOid, int packId, int offset) { + MultiPackIndex.MutableEntry asMutableEntry() { + MultiPackIndex.MutableEntry entry = new MultiPackIndex.MutableEntry(); + entry.oid.fromObjectId(ObjectId.fromString(OID_PREFIX + shortOid)); + entry.packOffset.setValues(packId, offset); + return entry; + } + } +}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoaderTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoaderTest.java index 3c7e27d..a59e874 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoaderTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoaderTest.java
@@ -17,7 +17,6 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.util.LinkedHashMap; import java.util.List; import org.eclipse.jgit.internal.storage.file.PackIndex; @@ -64,13 +63,11 @@ public void load_validFile_basic_jgit() throws Exception { new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000012", 1502))); - LinkedHashMap<String, PackIndex> packs = new LinkedHashMap<>(3); - packs.put("p1", idxOne); - packs.put("p2", idxTwo); - packs.put("p3", idxThree); + PackIndexMerger data = PackIndexMerger.builder().addPack("p1", idxOne) + .addPack("p2", idxTwo).addPack("p3", idxThree).build(); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray()));
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexTest.java index a2c86f3..75a5a95 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexTest.java
@@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedHashMap; import java.util.List; import java.util.Set; @@ -114,7 +113,7 @@ public void jgit_largeOffsetChunk() throws IOException { "0000000000000000000000000000000000000002", (1L << 35)), new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000003", 13))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger packs = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -145,7 +144,7 @@ public void jgit_largeOffset_noChunk() throws IOException { "0000000000000000000000000000000000000002", 501), new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000003", 13))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger packs = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -182,7 +181,7 @@ public void jgit_resolve() throws IOException { // Match "32fe829a1c000000000000000000000000000010"); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger packs = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -226,7 +225,7 @@ public void jgit_resolve_matchLimit() throws IOException { // Match "32fe829a1c000000000000000000000000000010"); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("r1", idxOne, + PackIndexMerger packs = midxDataFor("r1", idxOne, "r2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -261,7 +260,7 @@ public void jgit_resolve_noMatches() throws IOException { "bbbbbb0000000000000000000000000000000003", "32fe829a1c000000000000000000000000000010"); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger packs = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -292,7 +291,7 @@ public void jgit_resolve_noMatches_last() throws IOException { "bbbbbb0000000000000000000000000000000003", "32fe829a1c000000000000000000000000000010"); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger packs = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -314,11 +313,11 @@ public void jgit_resolve_empty() throws IOException { PackIndex idxOne = FakeIndexFactory.indexOf(List.of()); PackIndex idxTwo = FakeIndexFactory.indexOf(List.of()); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -377,11 +376,11 @@ private static MultiPackIndex createMultiPackIndex() throws IOException { new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000012", 1502))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo, "p3", idxThree); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); return MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -398,11 +397,11 @@ public void jgit_getObjectCount_emtpy() throws IOException { PackIndex idxOne = FakeIndexFactory.indexOf(List.of()); PackIndex idxTwo = FakeIndexFactory.indexOf(List.of()); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -433,11 +432,11 @@ public void jgit_findBitmapPosition() throws IOException { new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000012", 1502))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo, "p3", idxThree); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -495,11 +494,11 @@ public void jgit_getObjectAtBitmapPosition() throws IOException { new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000012", 1502))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo, "p3", idxThree); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -563,11 +562,11 @@ public void jgit_iterator_emtpy() throws IOException { PackIndex idxOne = FakeIndexFactory.indexOf(List.of()); PackIndex idxTwo = FakeIndexFactory.indexOf(List.of()); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -591,11 +590,11 @@ public void jgit_iterator_peek() throws IOException { new FakeIndexFactory.IndexObject( "0000000000000000000000000000000000000015", 1501))); - LinkedHashMap<String, PackIndex> packs = orderedMapOf("p1", idxOne, + PackIndexMerger data = midxDataFor("p1", idxOne, "p2", idxTwo); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); - writer.write(NullProgressMonitor.INSTANCE, out, packs); + writer.write(NullProgressMonitor.INSTANCE, out, data); MultiPackIndex midx = MultiPackIndexLoader .read(new ByteArrayInputStream(out.toByteArray())); @@ -662,21 +661,16 @@ private static void assertEntry(MultiPackIndex.MutableEntry e, String oid, assertEquals(expectedOffset, e.packOffset.getOffset()); } - private static LinkedHashMap<String, PackIndex> orderedMapOf(String s1, - PackIndex pi1, String s2, PackIndex pi2) { - LinkedHashMap<String, PackIndex> map = new LinkedHashMap<>(2); - map.put(s1, pi1); - map.put(s2, pi2); - return map; + private static PackIndexMerger midxDataFor(String s1, PackIndex pi1, + String s2, PackIndex pi2) { + return PackIndexMerger.builder().addPack(s1, pi1).addPack(s2, pi2) + .build(); } - private static LinkedHashMap<String, PackIndex> orderedMapOf(String s1, + private static PackIndexMerger midxDataFor(String s1, PackIndex pi1, String s2, PackIndex pi2, String s3, PackIndex pi3) { - LinkedHashMap<String, PackIndex> map = new LinkedHashMap<>(3); - map.put(s1, pi1); - map.put(s2, pi2); - map.put(s3, pi3); - return map; + return PackIndexMerger.builder().addPack(s1, pi1).addPack(s2, pi2) + .addPack(s3, pi3).build(); } private static ObjectId oid(String last3chars) {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriterTest.java index 5971dceb..1ca8aaf 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriterTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriterTest.java
@@ -23,7 +23,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; -import java.util.LinkedHashMap; import java.util.List; import org.eclipse.jgit.internal.storage.file.PackIndex; @@ -47,9 +46,9 @@ public void write_allSmallOffsets() throws IOException { object("0000000000000000000000000000000000000004", 1500), object("0000000000000000000000000000000000000006", 3000)); - LinkedHashMap<String, PackIndex> data = new LinkedHashMap<>(); - data.put("packname1", index1); - data.put("packname2", index2); + PackIndexMerger data = PackIndexMerger.builder() + .addPack("packname1", index1).addPack("packname2", index2) + .build(); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -85,9 +84,9 @@ public void write_smallOffset_limit() throws IOException { object("0000000000000000000000000000000000000002", 500), object("0000000000000000000000000000000000000004", 1500), object("0000000000000000000000000000000000000006", 3000)); - LinkedHashMap<String, PackIndex> data = new LinkedHashMap<>(2); - data.put("packname1", index1); - data.put("packname2", index2); + PackIndexMerger data = PackIndexMerger.builder() + .addPack("packname1", index1).addPack("packname2", index2) + .build(); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -122,9 +121,9 @@ public void write_largeOffset() throws IOException { object("0000000000000000000000000000000000000002", 500), object("0000000000000000000000000000000000000004", 1500), object("0000000000000000000000000000000000000006", 3000)); - LinkedHashMap<String, PackIndex> data = new LinkedHashMap<>(2); - data.put("bbbbbbbbb", index1); - data.put("aaaaaaaaa", index2); + PackIndexMerger data = PackIndexMerger.builder() + .addPack("bbbbbbbbb", index1).addPack("aaaaaaaaa", index2) + .build(); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); @@ -159,9 +158,8 @@ public void write_largeOffset() throws IOException { public void jgit_emptyMidx() throws IOException { PackIndex idxOne = FakeIndexFactory.indexOf(List.of()); PackIndex idxTwo = FakeIndexFactory.indexOf(List.of()); - LinkedHashMap<String, PackIndex> packs = new LinkedHashMap<>(2); - packs.put("p1", idxOne); - packs.put("p2", idxTwo); + PackIndexMerger packs = PackIndexMerger.builder().addPack("p1", idxOne) + .addPack("p2", idxTwo).build(); MultiPackIndexWriter writer = new MultiPackIndexWriter(); ByteArrayOutputStream out = new ByteArrayOutputStream(); writer.write(NullProgressMonitor.INSTANCE, out, packs);
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexMergerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexMergerTest.java index a43992d..971087e 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexMergerTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexMergerTest.java
@@ -14,19 +14,23 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; import java.util.Arrays; import java.util.Iterator; -import java.util.LinkedHashMap; import org.eclipse.jgit.internal.storage.file.PackIndex; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MutableEntry; import org.eclipse.jgit.junit.FakeIndexFactory; import org.eclipse.jgit.junit.FakeIndexFactory.IndexObject; +import org.eclipse.jgit.lib.NullProgressMonitor; import org.junit.Test; public class PackIndexMergerTest { @Test - public void rawIterator_noDuplicates() { + public void bySha1Iterator_noDuplicates() { PackIndex idxOne = indexOf( oidOffset("0000000000000000000000000000000000000001", 500), oidOffset("0000000000000000000000000000000000000005", 12), @@ -39,12 +43,12 @@ public void rawIterator_noDuplicates() { oidOffset("0000000000000000000000000000000000000004", 502), oidOffset("0000000000000000000000000000000000000007", 14), oidOffset("0000000000000000000000000000000000000012", 1502)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxTwo, "p3", idxThree)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxTwo, + "p3", idxThree); assertEquals(9, merger.getUniqueObjectCount()); assertEquals(3, merger.getPackCount()); assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.rawIterator(); + Iterator<MutableEntry> it = merger.bySha1Iterator(); assertNextEntry(it, "0000000000000000000000000000000000000001", 0, 500); assertNextEntry(it, "0000000000000000000000000000000000000002", 1, 501); assertNextEntry(it, "0000000000000000000000000000000000000003", 1, 13); @@ -61,92 +65,31 @@ public void rawIterator_noDuplicates() { } @Test - public void rawIterator_noDuplicates_honorPackOrder() { + public void bySha1Iterator_withDuplicates() { PackIndex idxOne = indexOf( oidOffset("0000000000000000000000000000000000000001", 500), - oidOffset("0000000000000000000000000000000000000005", 12), oidOffset("0000000000000000000000000000000000000010", 1500)); PackIndex idxTwo = indexOf( oidOffset("0000000000000000000000000000000000000002", 501), oidOffset("0000000000000000000000000000000000000003", 13), + oidOffset("0000000000000000000000000000000000000005", 800), oidOffset("0000000000000000000000000000000000000015", 1501)); PackIndex idxThree = indexOf( oidOffset("0000000000000000000000000000000000000004", 502), + oidOffset("0000000000000000000000000000000000000005", 12), oidOffset("0000000000000000000000000000000000000007", 14), oidOffset("0000000000000000000000000000000000000012", 1502)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p3", idxThree, "p2", idxTwo, "p1", idxOne)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxTwo, + "p3", idxThree); assertEquals(9, merger.getUniqueObjectCount()); assertEquals(3, merger.getPackCount()); assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.rawIterator(); - assertNextEntry(it, "0000000000000000000000000000000000000001", 2, 500); - assertNextEntry(it, "0000000000000000000000000000000000000002", 1, 501); - assertNextEntry(it, "0000000000000000000000000000000000000003", 1, 13); - assertNextEntry(it, "0000000000000000000000000000000000000004", 0, 502); - assertNextEntry(it, "0000000000000000000000000000000000000005", 2, 12); - assertNextEntry(it, "0000000000000000000000000000000000000007", 0, 14); - assertNextEntry(it, "0000000000000000000000000000000000000010", 2, - 1500); - assertNextEntry(it, "0000000000000000000000000000000000000012", 0, - 1502); - assertNextEntry(it, "0000000000000000000000000000000000000015", 1, - 1501); - assertFalse(it.hasNext()); - } - - @Test - public void rawIterator_allDuplicates() { - PackIndex idxOne = indexOf( - oidOffset("0000000000000000000000000000000000000001", 500), - oidOffset("0000000000000000000000000000000000000005", 12), - oidOffset("0000000000000000000000000000000000000010", 1500)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxOne, "p3", idxOne)); - assertEquals(3, merger.getUniqueObjectCount()); - assertEquals(3, merger.getPackCount()); - assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.rawIterator(); - assertNextEntry(it, "0000000000000000000000000000000000000001", 0, 500); - assertNextEntry(it, "0000000000000000000000000000000000000001", 1, 500); - assertNextEntry(it, "0000000000000000000000000000000000000001", 2, 500); - assertNextEntry(it, "0000000000000000000000000000000000000005", 0, 12); - assertNextEntry(it, "0000000000000000000000000000000000000005", 1, 12); - assertNextEntry(it, "0000000000000000000000000000000000000005", 2, 12); - assertNextEntry(it, "0000000000000000000000000000000000000010", 0, - 1500); - assertNextEntry(it, "0000000000000000000000000000000000000010", 1, - 1500); - assertNextEntry(it, "0000000000000000000000000000000000000010", 2, - 1500); - assertFalse(it.hasNext()); - } - - @Test - public void bySha1Iterator_noDuplicates() { - PackIndex idxOne = indexOf( - oidOffset("0000000000000000000000000000000000000001", 500), - oidOffset("0000000000000000000000000000000000000005", 12), - oidOffset("0000000000000000000000000000000000000010", 1500)); - PackIndex idxTwo = indexOf( - oidOffset("0000000000000000000000000000000000000002", 501), - oidOffset("0000000000000000000000000000000000000003", 13), - oidOffset("0000000000000000000000000000000000000015", 1501)); - PackIndex idxThree = indexOf( - oidOffset("0000000000000000000000000000000000000004", 502), - oidOffset("0000000000000000000000000000000000000007", 14), - oidOffset("0000000000000000000000000000000000000012", 1502)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxTwo, "p3", idxThree)); - assertEquals(9, merger.getUniqueObjectCount()); - assertEquals(3, merger.getPackCount()); - assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.bySha1Iterator(); + Iterator<MutableEntry> it = merger.bySha1Iterator(); assertNextEntry(it, "0000000000000000000000000000000000000001", 0, 500); assertNextEntry(it, "0000000000000000000000000000000000000002", 1, 501); assertNextEntry(it, "0000000000000000000000000000000000000003", 1, 13); assertNextEntry(it, "0000000000000000000000000000000000000004", 2, 502); - assertNextEntry(it, "0000000000000000000000000000000000000005", 0, 12); + assertNextEntry(it, "0000000000000000000000000000000000000005", 1, 800); assertNextEntry(it, "0000000000000000000000000000000000000007", 2, 14); assertNextEntry(it, "0000000000000000000000000000000000000010", 0, 1500); @@ -163,12 +106,12 @@ public void bySha1Iterator_allDuplicates() { oidOffset("0000000000000000000000000000000000000001", 500), oidOffset("0000000000000000000000000000000000000005", 12), oidOffset("0000000000000000000000000000000000000010", 1500)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxOne, "p3", idxOne)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxOne, + "p3", idxOne); assertEquals(3, merger.getUniqueObjectCount()); assertEquals(3, merger.getPackCount()); assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.bySha1Iterator(); + Iterator<MutableEntry> it = merger.bySha1Iterator(); assertNextEntry(it, "0000000000000000000000000000000000000001", 0, 500); assertNextEntry(it, "0000000000000000000000000000000000000005", 0, 12); assertNextEntry(it, "0000000000000000000000000000000000000010", 0, @@ -187,12 +130,12 @@ public void bySha1Iterator_differentIndexSizes() { oidOffset("0000000000000000000000000000000000000004", 500), oidOffset("0000000000000000000000000000000000000007", 12), oidOffset("0000000000000000000000000000000000000012", 1500)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxTwo, "p3", idxThree)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxTwo, + "p3", idxThree); assertEquals(6, merger.getUniqueObjectCount()); assertEquals(3, merger.getPackCount()); assertFalse(merger.needsLargeOffsetsChunk()); - Iterator<PackIndexMerger.MidxMutableEntry> it = merger.bySha1Iterator(); + Iterator<MutableEntry> it = merger.bySha1Iterator(); assertNextEntry(it, "0000000000000000000000000000000000000002", 1, 500); assertNextEntry(it, "0000000000000000000000000000000000000003", 1, 12); assertNextEntry(it, "0000000000000000000000000000000000000004", 2, 500); @@ -205,8 +148,46 @@ public void bySha1Iterator_differentIndexSizes() { } @Test + public void bySha1Iterator_withAnotherMidx() throws IOException { + PackIndex idxOne = indexOf( + oidOffset("0000000000000000000000000000000000000010", 1500)); + PackIndex idxTwo = indexOf( + oidOffset("0000000000000000000000000000000000000002", 500), + oidOffset("0000000000000000000000000000000000000003", 12)); + PackIndex idxThree = indexOf( + oidOffset("0000000000000000000000000000000000000004", 500), + oidOffset("0000000000000000000000000000000000000007", 12), + oidOffset("0000000000000000000000000000000000000012", 1500)); + MultiPackIndex midx = midxOf("one", idxOne, "two", idxTwo, "three", + idxThree); + + PackIndex idxFour = indexOf( + oidOffset("0000000000000000000000000000000000000001", 12), + oidOffset("0000000000000000000000000000000000000007", 600), + oidOffset("0000000000000000000000000000000000000015", 300)); + + PackIndexMerger merger = PackIndexMerger.builder() + .addMidx(midx.iterator()).addPack("four", idxFour).build(); + assertEquals(8, merger.getUniqueObjectCount()); + assertEquals(4, merger.getPackCount()); + assertFalse(merger.needsLargeOffsetsChunk()); + Iterator<MutableEntry> it = merger.bySha1Iterator(); + assertNextEntry(it, "0000000000000000000000000000000000000001", 3, 12); + assertNextEntry(it, "0000000000000000000000000000000000000002", 1, 500); + assertNextEntry(it, "0000000000000000000000000000000000000003", 1, 12); + assertNextEntry(it, "0000000000000000000000000000000000000004", 2, 500); + assertNextEntry(it, "0000000000000000000000000000000000000007", 2, 12); + assertNextEntry(it, "0000000000000000000000000000000000000010", 0, + 1500); + assertNextEntry(it, "0000000000000000000000000000000000000012", 2, + 1500); + assertNextEntry(it, "0000000000000000000000000000000000000015", 3, 300); + assertFalse(it.hasNext()); + } + + @Test public void merger_noIndexes() { - PackIndexMerger merger = new PackIndexMerger(new LinkedHashMap<>()); + PackIndexMerger merger = PackIndexMerger.builder().build(); assertEquals(0, merger.getUniqueObjectCount()); assertFalse(merger.needsLargeOffsetsChunk()); assertTrue(merger.getPackNames().isEmpty()); @@ -216,8 +197,8 @@ public void merger_noIndexes() { @Test public void merger_emptyIndexes() { - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", indexOf(), "p2", indexOf())); + PackIndexMerger merger = createMergerFor("p1", indexOf(), "p2", + indexOf()); assertEquals(0, merger.getUniqueObjectCount()); assertFalse(merger.needsLargeOffsetsChunk()); assertEquals(2, merger.getPackNames().size()); @@ -232,8 +213,7 @@ public void bySha1Iterator_largeOffsets_needsChunk() { oidOffset("0000000000000000000000000000000000000004", 12)); PackIndex idx2 = indexOf(oidOffset( "0000000000000000000000000000000000000003", (1L << 31) + 10)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idx1, "p2", idx2)); + PackIndexMerger merger = createMergerFor("p1", idx1, "p2", idx2); assertTrue(merger.needsLargeOffsetsChunk()); assertEquals(2, merger.getOffsetsOver31BitsCount()); assertEquals(3, merger.getUniqueObjectCount()); @@ -248,8 +228,7 @@ public void bySha1Iterator_largeOffsets_noChunk() { oidOffset("0000000000000000000000000000000000000004", 12)); PackIndex idx2 = indexOf(oidOffset( "0000000000000000000000000000000000000003", (1L << 31) + 10)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idx1, "p2", idx2)); + PackIndexMerger merger = createMergerFor("p1", idx1, "p2", idx2); assertFalse(merger.needsLargeOffsetsChunk()); assertEquals(2, merger.getOffsetsOver31BitsCount()); assertEquals(3, merger.getUniqueObjectCount()); @@ -269,8 +248,8 @@ public void getObjectsPerPack_noDuplicates() { oidOffset("0000000000000000000000000000000000000004", 502), oidOffset("0000000000000000000000000000000000000007", 14), oidOffset("0000000000000000000000000000000000000012", 1502)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxTwo, "p3", idxThree)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxTwo, + "p3", idxThree); assertArrayEquals(new int[] { 3, 3, 3 }, merger.getObjectsPerPack()); } @@ -285,8 +264,8 @@ public void getObjectsPerPack_differentIndexSizes() { oidOffset("0000000000000000000000000000000000000004", 500), oidOffset("0000000000000000000000000000000000000007", 12), oidOffset("0000000000000000000000000000000000000012", 1500)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxTwo, "p3", idxThree)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxTwo, + "p3", idxThree); assertArrayEquals(new int[] { 1, 2, 3 }, merger.getObjectsPerPack()); } @@ -296,29 +275,28 @@ public void getObjectsPerPack_allDuplicates() { oidOffset("0000000000000000000000000000000000000001", 500), oidOffset("0000000000000000000000000000000000000005", 12), oidOffset("0000000000000000000000000000000000000010", 1500)); - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", idxOne, "p2", idxOne, "p3", idxOne)); + PackIndexMerger merger = createMergerFor("p1", idxOne, "p2", idxOne, + "p3", idxOne); assertArrayEquals(new int[] { 3, 0, 0 }, merger.getObjectsPerPack()); } @Test public void getObjectsPerPack_noIndexes() { - PackIndexMerger merger = new PackIndexMerger(new LinkedHashMap<>()); + PackIndexMerger merger = PackIndexMerger.builder().build(); assertArrayEquals(new int[] {}, merger.getObjectsPerPack()); } @Test public void getObjectsPerPack_emptyIndexes() { - PackIndexMerger merger = new PackIndexMerger( - orderedMapOf("p1", indexOf(), "p2", indexOf())); + PackIndexMerger merger = createMergerFor("p1", indexOf(), "p2", + indexOf()); assertArrayEquals(new int[] { 0, 0 }, merger.getObjectsPerPack()); } - private static void assertNextEntry( - Iterator<PackIndexMerger.MidxMutableEntry> it, String oid, + private static void assertNextEntry(Iterator<MutableEntry> it, String oid, int packId, long offset) { assertTrue(it.hasNext()); - PackIndexMerger.MidxMutableEntry e = it.next(); + MutableEntry e = it.next(); assertEquals(oid, e.getObjectId().name()); assertEquals(packId, e.getPackId()); assertEquals(offset, e.getOffset()); @@ -332,21 +310,28 @@ private static PackIndex indexOf(IndexObject... objs) { return FakeIndexFactory.indexOf(Arrays.asList(objs)); } - private static LinkedHashMap<String, PackIndex> orderedMapOf(String s1, - PackIndex pi1, String s2, PackIndex pi2) { - LinkedHashMap map = new LinkedHashMap(3); - map.put(s1, pi1); - map.put(s2, pi2); - return map; - } + private static MultiPackIndex midxOf(String s1, PackIndex idx1, String s2, + PackIndex idx2, String s3, PackIndex idx3) throws IOException { + PackIndexMerger merger = createMergerFor(s1, idx1, s2, idx2, s3, idx3); + MultiPackIndexWriter w = new MultiPackIndexWriter(); - private static LinkedHashMap<String, PackIndex> orderedMapOf(String s1, - PackIndex pi1, String s2, PackIndex pi2, String s3, PackIndex pi3) { - LinkedHashMap map = new LinkedHashMap(3); - map.put(s1, pi1); - map.put(s2, pi2); - map.put(s3, pi3); - return map; - } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + w.write(NullProgressMonitor.INSTANCE, out, merger); + + ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); + return MultiPackIndexLoader.read(in); + } + + private static PackIndexMerger createMergerFor(String s1, PackIndex pi1, + String s2, PackIndex pi2) { + return PackIndexMerger.builder().addPack(s1, pi1).addPack(s2, pi2) + .build(); + } + + private static PackIndexMerger createMergerFor(String s1, PackIndex pi1, + String s2, PackIndex pi2, String s3, PackIndex pi3) { + return PackIndexMerger.builder().addPack(s1, pi1).addPack(s2, pi2) + .addPack(s3, pi3).build(); + } }
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexPeekIteratorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexPeekIteratorTest.java deleted file mode 100644 index 0b3ccac..0000000 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/midx/PackIndexPeekIteratorTest.java +++ /dev/null
@@ -1,71 +0,0 @@ -/* - * Copyright (C) 2025, 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.midx; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import java.util.Arrays; - -import org.eclipse.jgit.internal.storage.file.PackIndex; -import org.eclipse.jgit.junit.FakeIndexFactory; -import org.junit.Test; - -public class PackIndexPeekIteratorTest { - @Test - public void next() { - PackIndex index1 = indexOf( - object("0000000000000000000000000000000000000001", 500), - object("0000000000000000000000000000000000000003", 1500), - object("0000000000000000000000000000000000000005", 3000)); - PackIndexMerger.PackIndexPeekIterator it = new PackIndexMerger.PackIndexPeekIterator(0, index1); - assertEquals("0000000000000000000000000000000000000001", it.next().name()); - assertEquals("0000000000000000000000000000000000000003", it.next().name()); - assertEquals("0000000000000000000000000000000000000005", it.next().name()); - assertNull(it.next()); - } - - @Test - public void peek_doesNotAdvance() { - PackIndex index1 = indexOf( - object("0000000000000000000000000000000000000001", 500), - object("0000000000000000000000000000000000000003", 1500), - object("0000000000000000000000000000000000000005", 3000)); - PackIndexMerger.PackIndexPeekIterator it = new PackIndexMerger.PackIndexPeekIterator(0, index1); - it.next(); - assertEquals("0000000000000000000000000000000000000001", it.peek().name()); - assertEquals("0000000000000000000000000000000000000001", it.peek().name()); - it.next(); - assertEquals("0000000000000000000000000000000000000003", it.peek().name()); - assertEquals("0000000000000000000000000000000000000003", it.peek().name()); - it.next(); - assertEquals("0000000000000000000000000000000000000005", it.peek().name()); - assertEquals("0000000000000000000000000000000000000005", it.peek().name()); - it.next(); - assertNull(it.peek()); - assertNull(it.peek()); - } - - @Test - public void empty() { - PackIndex index1 = indexOf(); - PackIndexMerger.PackIndexPeekIterator it = new PackIndexMerger.PackIndexPeekIterator(0, index1); - assertNull(it.next()); - assertNull(it.peek()); - } - - private static PackIndex indexOf(FakeIndexFactory.IndexObject... objs) { - return FakeIndexFactory.indexOf(Arrays.asList(objs)); - } - - private static FakeIndexFactory.IndexObject object(String name, long offset) { - return new FakeIndexFactory.IndexObject(name, offset); - } -} \ No newline at end of file
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java index c6a6321..b5e4b21 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java
@@ -11,6 +11,8 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.time.Instant.EPOCH; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -30,6 +32,7 @@ import java.util.Set; import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeResult; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.RebaseResult; @@ -964,6 +967,39 @@ public void checkContentMergeConflict(MergeStrategy strategy) } @Theory + public void checkContentMergeConflictDiff3(MergeStrategy strategy) + throws Exception { + Git git = Git.wrap(db); + + writeTrashFile("file", "1\n2\n3"); + git.add().addFilepattern("file").call(); + RevCommit first = git.commit().setMessage("added file").call(); + + writeTrashFile("file", "1master\n2\n3"); + git.commit().setAll(true).setMessage("modified file on master").call(); + + git.checkout().setCreateBranch(true).setStartPoint(first) + .setName("side").call(); + writeTrashFile("file", "1side\n2\n3"); + RevCommit sideCommit = git.commit().setAll(true) + .setMessage("modified file on side").call(); + + git.checkout().setName("master").call(); + + db.getConfig().setEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, ConflictStyle.DIFF3); + + MergeResult result = git.merge().setStrategy(strategy) + .include(sideCommit).call(); + assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus()); + String expected = "<<<<<<< HEAD\n" + "1master\n" + "||||||| BASE\n" + + "1\n" + "=======\n" + "1side\n" + ">>>>>>> " + + sideCommit.name() + "\n" + "2\n" + + "3"; + assertEquals(expected, read("file")); + } + + @Theory public void checkContentMergeConflict_noTree(MergeStrategy strategy) throws Exception { Git git = Git.wrap(db);
diff --git a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF index b3ecf33..ef66f91 100644 --- a/org.eclipse.jgit.ui/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/MANIFEST.MF
@@ -4,15 +4,15 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit.ui Bundle-SymbolicName: org.eclipse.jgit.ui -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Export-Package: org.eclipse.jgit.awtui;version="7.6.0" -Import-Package: org.eclipse.jgit.errors;version="[7.6.0,7.7.0)", - org.eclipse.jgit.lib;version="[7.6.0,7.7.0)", - org.eclipse.jgit.nls;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revplot;version="[7.6.0,7.7.0)", - org.eclipse.jgit.revwalk;version="[7.6.0,7.7.0)", - org.eclipse.jgit.transport;version="[7.6.0,7.7.0)", - org.eclipse.jgit.util;version="[7.6.0,7.7.0)" +Export-Package: org.eclipse.jgit.awtui;version="7.7.0" +Import-Package: org.eclipse.jgit.errors;version="[7.7.0,7.8.0)", + org.eclipse.jgit.lib;version="[7.7.0,7.8.0)", + org.eclipse.jgit.nls;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revplot;version="[7.7.0,7.8.0)", + org.eclipse.jgit.revwalk;version="[7.7.0,7.8.0)", + org.eclipse.jgit.transport;version="[7.7.0,7.8.0)", + org.eclipse.jgit.util;version="[7.7.0,7.8.0)"
diff --git a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF index e20c4f2..2430c2b 100644 --- a/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit.ui/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit.ui - Sources Bundle-SymbolicName: org.eclipse.jgit.ui.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit.ui;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit.ui;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit.ui/pom.xml b/org.eclipse.jgit.ui/pom.xml index 2acf0e0..a21d2f3 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> </parent> <artifactId>org.eclipse.jgit.ui</artifactId>
diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF index 15ae6ef..2377e26 100644 --- a/org.eclipse.jgit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-Name: %Bundle-Name Automatic-Module-Name: org.eclipse.jgit Bundle-SymbolicName: org.eclipse.jgit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-Localization: OSGI-INF/l10n/plugin Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy @@ -11,8 +11,8 @@ Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git Service-Component: OSGI-INF/org.eclipse.jgit.internal.util.CleanupService.xml Eclipse-ExtensibleAPI: true -Export-Package: org.eclipse.jgit.annotations;version="7.6.0", - org.eclipse.jgit.api;version="7.6.0"; +Export-Package: org.eclipse.jgit.annotations;version="7.7.0", + org.eclipse.jgit.api;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.notes, org.eclipse.jgit.dircache, @@ -27,21 +27,21 @@ org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.blame, org.eclipse.jgit.merge", - org.eclipse.jgit.api.errors;version="7.6.0"; + org.eclipse.jgit.api.errors;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.errors", - org.eclipse.jgit.attributes;version="7.6.0"; + org.eclipse.jgit.attributes;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.blame;version="7.6.0"; + org.eclipse.jgit.blame;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.blame.cache, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter", - org.eclipse.jgit.blame.cache;version="7.6.0"; + org.eclipse.jgit.blame.cache;version="7.7.0"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.diff;version="7.6.0"; + org.eclipse.jgit.diff;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.patch, @@ -49,55 +49,55 @@ org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.dircache;version="7.6.0"; + org.eclipse.jgit.dircache;version="7.7.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="7.6.0"; + org.eclipse.jgit.errors;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.dircache, org.eclipse.jgit.lib", - org.eclipse.jgit.events;version="7.6.0"; + org.eclipse.jgit.events;version="7.7.0"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.fnmatch;version="7.6.0", - org.eclipse.jgit.gitrepo;version="7.6.0"; + org.eclipse.jgit.fnmatch;version="7.7.0", + org.eclipse.jgit.gitrepo;version="7.7.0"; uses:="org.xml.sax.helpers, org.eclipse.jgit.api, org.eclipse.jgit.api.errors, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.xml.sax", - org.eclipse.jgit.gitrepo.internal;version="7.6.0";x-internal:=true, - org.eclipse.jgit.hooks;version="7.6.0"; + org.eclipse.jgit.gitrepo.internal;version="7.7.0";x-internal:=true, + org.eclipse.jgit.hooks;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.ignore;version="7.6.0", - org.eclipse.jgit.ignore.internal;version="7.6.0"; + org.eclipse.jgit.ignore;version="7.7.0", + org.eclipse.jgit.ignore.internal;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal;version="7.6.0"; + org.eclipse.jgit.internal;version="7.7.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.http.test", - org.eclipse.jgit.internal.diff;version="7.6.0"; + org.eclipse.jgit.internal.diff;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.diffmergetool;version="7.6.0"; + org.eclipse.jgit.internal.diffmergetool;version="7.7.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="7.6.0"; + org.eclipse.jgit.internal.fsck;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.revwalk;version="7.6.0"; + org.eclipse.jgit.internal.revwalk;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.commitgraph;version="7.6.0"; + org.eclipse.jgit.internal.storage.commitgraph;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.dfs;version="7.6.0"; + org.eclipse.jgit.internal.storage.dfs;version="7.7.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="7.6.0"; + org.eclipse.jgit.internal.storage.file;version="7.7.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.junit, org.eclipse.jgit.junit.http, @@ -109,39 +109,39 @@ org.eclipse.jgit.ssh.apache, org.eclipse.jgit.ssh.apache.test, org.eclipse.jgit.ssh.jsch.test", - org.eclipse.jgit.internal.storage.io;version="7.6.0"; + org.eclipse.jgit.internal.storage.io;version="7.7.0"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.memory;version="7.6.0"; + org.eclipse.jgit.internal.storage.memory;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.midx;version="7.6.0"; + org.eclipse.jgit.internal.storage.midx;version="7.7.0"; x-friends:="org.eclipse.jgit.pgm, org.eclipse.jgit.test", - org.eclipse.jgit.internal.storage.pack;version="7.6.0"; + org.eclipse.jgit.internal.storage.pack;version="7.7.0"; x-friends:="org.eclipse.jgit.junit, org.eclipse.jgit.test, org.eclipse.jgit.pgm", - org.eclipse.jgit.internal.storage.reftable;version="7.6.0"; + org.eclipse.jgit.internal.storage.reftable;version="7.7.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="7.6.0";x-internal:=true, - org.eclipse.jgit.internal.transport.connectivity;version="7.6.0"; + org.eclipse.jgit.internal.submodule;version="7.7.0";x-internal:=true, + org.eclipse.jgit.internal.transport.connectivity;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.http;version="7.6.0"; + org.eclipse.jgit.internal.transport.http;version="7.7.0"; x-friends:="org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.parser;version="7.6.0"; + org.eclipse.jgit.internal.transport.parser;version="7.7.0"; x-friends:="org.eclipse.jgit.http.server, org.eclipse.jgit.test", - org.eclipse.jgit.internal.transport.ssh;version="7.6.0"; + org.eclipse.jgit.internal.transport.ssh;version="7.7.0"; x-friends:="org.eclipse.jgit.ssh.apache, org.eclipse.jgit.ssh.jsch, org.eclipse.jgit.test", - org.eclipse.jgit.internal.util;version="7.6.0"; + org.eclipse.jgit.internal.util;version="7.7.0"; x-friends:="org.eclipse.jgit.junit", - org.eclipse.jgit.lib;version="7.6.0"; + org.eclipse.jgit.lib;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.util.sha1, org.eclipse.jgit.dircache, @@ -156,12 +156,12 @@ org.eclipse.jgit.util, org.eclipse.jgit.submodule, org.eclipse.jgit.util.time", - org.eclipse.jgit.lib.internal;version="7.6.0"; + org.eclipse.jgit.lib.internal;version="7.7.0"; x-friends:="org.eclipse.jgit.test, org.eclipse.jgit.pgm, org.eclipse.egit.ui", - org.eclipse.jgit.logging;version="7.6.0", - org.eclipse.jgit.merge;version="7.6.0"; + org.eclipse.jgit.logging;version="7.7.0", + org.eclipse.jgit.merge;version="7.7.0"; uses:="org.eclipse.jgit.dircache, org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, @@ -170,42 +170,42 @@ org.eclipse.jgit.util, org.eclipse.jgit.api, org.eclipse.jgit.attributes", - org.eclipse.jgit.nls;version="7.6.0", - org.eclipse.jgit.notes;version="7.6.0"; + org.eclipse.jgit.nls;version="7.7.0", + org.eclipse.jgit.notes;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.treewalk, org.eclipse.jgit.merge", - org.eclipse.jgit.patch;version="7.6.0"; + org.eclipse.jgit.patch;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk, org.eclipse.jgit.diff", - org.eclipse.jgit.revplot;version="7.6.0"; + org.eclipse.jgit.revplot;version="7.7.0"; uses:="org.eclipse.jgit.revwalk, org.eclipse.jgit.lib", - org.eclipse.jgit.revwalk;version="7.6.0"; + org.eclipse.jgit.revwalk;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.revwalk.filter, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.treewalk, org.eclipse.jgit.internal.storage.commitgraph", - org.eclipse.jgit.revwalk.filter;version="7.6.0"; + org.eclipse.jgit.revwalk.filter;version="7.7.0"; uses:="org.eclipse.jgit.revwalk, org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.file;version="7.6.0"; + org.eclipse.jgit.storage.file;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.util", - org.eclipse.jgit.storage.pack;version="7.6.0"; + org.eclipse.jgit.storage.pack;version="7.7.0"; uses:="org.eclipse.jgit.lib", - org.eclipse.jgit.submodule;version="7.6.0"; + org.eclipse.jgit.submodule;version="7.7.0"; uses:="org.eclipse.jgit.lib, org.eclipse.jgit.treewalk.filter, org.eclipse.jgit.diff, org.eclipse.jgit.treewalk, org.eclipse.jgit.util", - org.eclipse.jgit.transport;version="7.6.0"; + org.eclipse.jgit.transport;version="7.7.0"; uses:="javax.crypto, org.eclipse.jgit.hooks, org.eclipse.jgit.util.io, @@ -218,21 +218,21 @@ org.eclipse.jgit.transport.resolver, org.eclipse.jgit.storage.pack, org.eclipse.jgit.errors", - org.eclipse.jgit.transport.http;version="7.6.0"; + org.eclipse.jgit.transport.http;version="7.7.0"; uses:="javax.net.ssl", - org.eclipse.jgit.transport.resolver;version="7.6.0"; + org.eclipse.jgit.transport.resolver;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.lib", - org.eclipse.jgit.treewalk;version="7.6.0"; + org.eclipse.jgit.treewalk;version="7.7.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="7.6.0"; + org.eclipse.jgit.treewalk.filter;version="7.7.0"; uses:="org.eclipse.jgit.treewalk", - org.eclipse.jgit.util;version="7.6.0"; + org.eclipse.jgit.util;version="7.7.0"; uses:="org.eclipse.jgit.transport, org.eclipse.jgit.hooks, org.eclipse.jgit.revwalk, @@ -245,12 +245,12 @@ org.eclipse.jgit.treewalk, javax.net.ssl, org.eclipse.jgit.util.time", - org.eclipse.jgit.util.io;version="7.6.0"; + org.eclipse.jgit.util.io;version="7.7.0"; uses:="org.eclipse.jgit.attributes, org.eclipse.jgit.lib, org.eclipse.jgit.treewalk", - org.eclipse.jgit.util.sha1;version="7.6.0", - org.eclipse.jgit.util.time;version="7.6.0" + org.eclipse.jgit.util.sha1;version="7.7.0", + org.eclipse.jgit.util.time;version="7.7.0" Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", javax.crypto, javax.management,
diff --git a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF index 48db010..46c3552 100644 --- a/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/SOURCE-MANIFEST.MF
@@ -3,6 +3,6 @@ Bundle-Name: org.eclipse.jgit - Sources Bundle-SymbolicName: org.eclipse.jgit.source Bundle-Vendor: Eclipse.org - JGit -Bundle-Version: 7.6.0.qualifier +Bundle-Version: 7.7.0.qualifier Bundle-SCM: url=https://github.com/eclipse-jgit/jgit, connection=scm:git:https://eclipse.gerrithub.io/eclipse-jgit/jgit.git, developerConnection=scm:git:https://eclipse.gerrithub.io/a/eclipse-jgit/jgit.git -Eclipse-SourceBundle: org.eclipse.jgit;version="7.6.0.qualifier";roots="." +Eclipse-SourceBundle: org.eclipse.jgit;version="7.7.0.qualifier";roots="."
diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml index 890cb9c..e9b16e0 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>7.6.0-SNAPSHOT</version> + <version>7.7.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 8889d75..5dedccd 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties +++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties
@@ -512,6 +512,7 @@ messageAndTaggerNotAllowedInUnannotatedTags = Unannotated tags cannot have a message or tagger midxChunkNeeded=midx 0x{0} chunk has not been loaded midxChunkRepeated=midx chunk id 0x{0} appears multiple times +midxChunkTooBig=chunk 0x{0} is too big (%d bytes) midxChunkUnknown=unknown midx chunk: 0x{0} minutesAgo={0} minutes ago mismatchOffset=mismatch offset for object {0}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java index b4d1cab..23bda6f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/AddCommand.java
@@ -20,7 +20,9 @@ import java.text.MessageFormat; import java.time.Instant; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Objects; import org.eclipse.jgit.api.errors.FilterFailedException; import org.eclipse.jgit.api.errors.GitAPIException; @@ -114,6 +116,36 @@ public AddCommand addFilepattern(String filepattern) { } /** + * Add paths to a file/directory whose content should be added. + * + * @param patterns + * repository-relative paths of file/directory to add (with + * <code>/</code> as separator) + * @return {@code this} + * @since 7.6 + */ + public AddCommand addFilepatterns(String... patterns) { + List.of(Objects.requireNonNull(patterns)).forEach(this::addFilepattern); + return this; + } + + /** + * Add paths to a file/directory whose content should be added. + * + * @param patterns + * repository-relative paths of file/directory to add (with + * <code>/</code> as separator) + * @return {@code this} + * @since 7.6 + */ + public AddCommand addFilepatterns(Collection<String> patterns) { + if (patterns != null) { + patterns.forEach(this::addFilepattern); + } + return this; + } + + /** * Allow clients to provide their own implementation of a FileTreeIterator * * @param f
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java index a353d1a..6761f1e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/CherryPickCommand.java
@@ -10,6 +10,9 @@ package org.eclipse.jgit.api; import static org.eclipse.jgit.api.CherryPickCommitMessageProvider.ORIGINAL; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.OBJECT_ID_ABBREV_STRING_LENGTH; import java.io.IOException; @@ -18,6 +21,7 @@ import java.util.List; import java.util.Map; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.JGitInternalException; @@ -73,6 +77,8 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> { private ContentMergeStrategy contentStrategy; + private ConflictStyle conflictStyle; + private Integer mainlineParentNumber; private boolean noCommit = false; @@ -138,9 +144,9 @@ public CherryPickResult call() throws GitAPIException, NoMessageException, boolean noProblems; Map<String, MergeFailureReason> failingPaths = null; List<String> unmergedPaths = null; - if (merger instanceof ResolveMerger) { - ResolveMerger resolveMerger = (ResolveMerger) merger; + if (merger instanceof ResolveMerger resolveMerger) { resolveMerger.setContentMergeStrategy(contentStrategy); + resolveMerger.setConflictStyle(getConflictStyle()); resolveMerger.setCommitNames( new String[] { "BASE", ourName, cherryPickName }); //$NON-NLS-1$ resolveMerger @@ -363,6 +369,25 @@ public CherryPickCommand setContentMergeStrategy( } /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public CherryPickCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + private ConflictStyle getConflictStyle() { + return conflictStyle != null ? conflictStyle + : repo.getConfig().getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + + /** * Set the (1-based) parent number to diff against * * @param mainlineParentNumber
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java index 7064f5a..a79fbf7 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/MergeCommand.java
@@ -75,6 +75,8 @@ public class MergeCommand extends GitCommand<MergeResult> { private ContentMergeStrategy contentStrategy; + private ConflictStyle conflictStyle; + private List<Ref> commits = new ArrayList<>(); private Boolean squash; @@ -336,9 +338,9 @@ public MergeResult call() throws GitAPIException, NoHeadException, Map<String, org.eclipse.jgit.merge.MergeResult<?>> lowLevelResults = null; Map<String, MergeFailureReason> failingPaths = null; List<String> unmergedPaths = null; - if (merger instanceof ResolveMerger) { - ResolveMerger resolveMerger = (ResolveMerger) merger; + if (merger instanceof ResolveMerger resolveMerger) { resolveMerger.setContentMergeStrategy(contentStrategy); + resolveMerger.setConflictStyle(conflictStyle); resolveMerger.setCommitNames(new String[] { "BASE", "HEAD", ref.getName() }); //$NON-NLS-1$ //$NON-NLS-2$ resolveMerger.setWorkingTreeIterator(new FileTreeIterator(repo)); @@ -456,6 +458,8 @@ private void fallBackToConfiguration() { commit = Boolean.valueOf(config.isCommit()); if (fastForwardMode == null) fastForwardMode = config.getFastForwardMode(); + if (conflictStyle == null) + conflictStyle = config.getConflictStyle(); } private void updateHead(StringBuilder refLogMessage, ObjectId newHeadId, @@ -511,6 +515,19 @@ public MergeCommand setContentMergeStrategy(ContentMergeStrategy strategy) { } /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public MergeCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + /** * Reference to a commit to be merged with the current head * * @param aCommit
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java index 4b2cee4..ff5dbff 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/PullCommand.java
@@ -11,10 +11,15 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; + import java.io.IOException; import java.text.MessageFormat; import org.eclipse.jgit.annotations.Nullable; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeCommand.FastForwardMode; import org.eclipse.jgit.api.MergeCommand.FastForwardMode.Merge; import org.eclipse.jgit.api.RebaseCommand.Operation; @@ -72,6 +77,8 @@ public class PullCommand extends TransportCommand<PullCommand, PullResult> { private ContentMergeStrategy contentStrategy; + private ConflictStyle conflictStyle; + private TagOpt tagOption; private FastForwardMode fastForwardMode; @@ -361,6 +368,7 @@ public PullResult call() throws GitAPIException, .setOperation(Operation.BEGIN) .setStrategy(strategy) .setContentMergeStrategy(contentStrategy) + .setConflictStyle(getConflictStyle()) .setPreserveMerges( pullRebaseMode == BranchRebaseMode.MERGES) .call(); @@ -371,6 +379,7 @@ public PullResult call() throws GitAPIException, .setProgressMonitor(monitor) .setStrategy(strategy) .setContentMergeStrategy(contentStrategy) + .setConflictStyle(getConflictStyle()) .setFastForward(getFastForwardMode()).call(); monitor.update(1); result = new PullResult(fetchRes, remote, mergeRes); @@ -464,6 +473,25 @@ public PullCommand setContentMergeStrategy(ContentMergeStrategy strategy) { } /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public PullCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + private ConflictStyle getConflictStyle() { + return conflictStyle != null ? conflictStyle + : repo.getConfig().getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + + /** * Set the specification of annotated tag behavior during fetch * * @param tagOpt
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java index 3ae7a6c..ba8461d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java
@@ -11,6 +11,9 @@ package org.eclipse.jgit.api; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import java.io.ByteArrayOutputStream; import java.io.File; @@ -31,6 +34,7 @@ import java.util.regex.Pattern; import org.eclipse.jgit.annotations.NonNull; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.RebaseResult.Status; import org.eclipse.jgit.api.ResetCommand.ResetType; import org.eclipse.jgit.api.errors.CheckoutConflictException; @@ -220,6 +224,8 @@ public enum Operation { private ContentMergeStrategy contentStrategy; + private ConflictStyle conflictStyle; + private boolean preserveMerges = false; /** @@ -557,6 +563,7 @@ private RebaseResult cherryPickCommitFlattening(RevCommit commitToPick) .setReflogPrefix(REFLOG_PREFIX) .setStrategy(strategy) .setContentMergeStrategy(contentStrategy) + .setConflictStyle(getConflictStyle()) .call(); switch (cherryPickResult.getStatus()) { case FAILED: @@ -611,7 +618,8 @@ private RebaseResult cherryPickCommitPreservingMerges(RevCommit commitToPick) .setOurCommitName(ourCommitName) .setReflogPrefix(REFLOG_PREFIX) .setStrategy(strategy) - .setContentMergeStrategy(contentStrategy); + .setContentMergeStrategy(contentStrategy) + .setConflictStyle(getConflictStyle()); if (isMerge) { pickCommand.setMainlineParentNumber(1); // We write a MERGE_HEAD and later commit explicitly @@ -649,6 +657,7 @@ private RebaseResult cherryPickCommitPreservingMerges(RevCommit commitToPick) .setProgressMonitor(monitor) .setStrategy(strategy) .setContentMergeStrategy(contentStrategy) + .setConflictStyle(getConflictStyle()) .setCommit(false); for (int i = 1; i < commitToPick.getParentCount(); i++) merge.include(newParents.get(i)); @@ -1039,6 +1048,8 @@ private RevCommit continueRebase() throws GitAPIException, IOException { CommitCommand commit = git.commit(); commit.setMessage(rebaseState.readFile(MESSAGE)); commit.setAuthor(parseAuthor()); + commit.setCleanupMode( + commitConfig.resolve(CleanupMode.DEFAULT, false)); return commit.call(); } } @@ -1698,6 +1709,25 @@ public RebaseCommand setContentMergeStrategy(ContentMergeStrategy strategy) { } /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public RebaseCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + private ConflictStyle getConflictStyle() { + return conflictStyle != null ? conflictStyle + : repo.getConfig().getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + + /** * Whether to preserve merges during rebase * * @param preserve
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RevertCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RevertCommand.java index 6643c83..5a107d5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RevertCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RevertCommand.java
@@ -9,6 +9,9 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.OBJECT_ID_ABBREV_STRING_LENGTH; import java.io.IOException; @@ -17,6 +20,7 @@ import java.util.List; import java.util.Map; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; import org.eclipse.jgit.api.errors.GitAPIException; @@ -74,6 +78,8 @@ public class RevertCommand extends GitCommand<RevCommit> { private ProgressMonitor monitor = NullProgressMonitor.INSTANCE; + private ConflictStyle conflictStyle; + /** * <p> * Constructor for RevertCommand. @@ -138,6 +144,7 @@ public RevCommit call() throws NoMessageException, UnmergedPathsException, + srcCommit.getShortMessage(); ResolveMerger merger = (ResolveMerger) strategy.newMerger(repo); + merger.setConflictStyle(getConflictStyle()); merger.setWorkingTreeIterator(new FileTreeIterator(repo)); merger.setBase(srcCommit.getTree()); merger.setCommitNames(new String[] { @@ -344,4 +351,23 @@ public RevertCommand setInsertChangeId(boolean insertChangeId) { return this; } + /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public RevertCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + private ConflictStyle getConflictStyle() { + return conflictStyle != null ? conflictStyle + : repo.getConfig().getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java index b0b715e..aa733b5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/StashApplyCommand.java
@@ -9,6 +9,9 @@ */ package org.eclipse.jgit.api; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.treewalk.TreeWalk.OperationType.CHECKOUT_OP; import java.io.IOException; @@ -17,6 +20,7 @@ import java.util.List; import java.util.Set; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.api.errors.InvalidRefNameException; import org.eclipse.jgit.api.errors.JGitInternalException; @@ -76,6 +80,8 @@ public class StashApplyCommand extends GitCommand<ObjectId> { private ContentMergeStrategy contentStrategy; + private ConflictStyle conflictStyle; + /** * Create command to apply the changes of a stashed commit * @@ -173,8 +179,7 @@ public ObjectId call() throws GitAPIException, Merger merger = strategy.newMerger(repo); boolean mergeSucceeded; - if (merger instanceof ResolveMerger) { - ResolveMerger resolveMerger = (ResolveMerger) merger; + if (merger instanceof ResolveMerger resolveMerger) { resolveMerger .setCommitNames(new String[] { "stashed HEAD", "HEAD", //$NON-NLS-1$ //$NON-NLS-2$ "stash" }); //$NON-NLS-1$ @@ -182,6 +187,7 @@ public ObjectId call() throws GitAPIException, resolveMerger .setWorkingTreeIterator(new FileTreeIterator(repo)); resolveMerger.setContentMergeStrategy(contentStrategy); + resolveMerger.setConflictStyle(getConflictStyle()); mergeSucceeded = resolveMerger.merge(headCommit, stashCommit); List<String> modifiedByMerge = resolveMerger.getModifiedFiles(); if (!modifiedByMerge.isEmpty()) { @@ -199,12 +205,12 @@ public ObjectId call() throws GitAPIException, dco.checkout(); // Ignoring failed deletes.... if (restoreIndex) { Merger ixMerger = strategy.newMerger(repo, true); - if (ixMerger instanceof ResolveMerger) { - ResolveMerger resolveMerger = (ResolveMerger) ixMerger; + if (ixMerger instanceof ResolveMerger resolveMerger) { resolveMerger.setCommitNames(new String[] { "stashed HEAD", //$NON-NLS-1$ "HEAD", "stashed index" }); //$NON-NLS-1$//$NON-NLS-2$ resolveMerger.setBase(stashHeadCommit); resolveMerger.setContentMergeStrategy(contentStrategy); + resolveMerger.setConflictStyle(getConflictStyle()); } boolean ok = ixMerger.merge(headCommit, stashIndexCommit); if (ok) { @@ -218,8 +224,7 @@ public ObjectId call() throws GitAPIException, if (untrackedCommit != null) { Merger untrackedMerger = strategy.newMerger(repo, true); - if (untrackedMerger instanceof ResolveMerger) { - ResolveMerger resolveMerger = (ResolveMerger) untrackedMerger; + if (untrackedMerger instanceof ResolveMerger resolveMerger) { resolveMerger.setCommitNames(new String[] { "null", "HEAD", //$NON-NLS-1$//$NON-NLS-2$ "untracked files" }); //$NON-NLS-1$ // There is no common base for HEAD & untracked files @@ -230,6 +235,7 @@ public ObjectId call() throws GitAPIException, // commit. resolveMerger.setBase(null); resolveMerger.setContentMergeStrategy(contentStrategy); + resolveMerger.setConflictStyle(getConflictStyle()); } boolean ok = untrackedMerger.merge(headCommit, untrackedCommit); @@ -305,6 +311,25 @@ public StashApplyCommand setContentMergeStrategy( } /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @return {@code this} + * @since 7.6 + */ + public StashApplyCommand setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + return this; + } + + private ConflictStyle getConflictStyle() { + return conflictStyle != null ? conflictStyle + : repo.getConfig().getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + + /** * Whether the command should restore untracked files * * @param restoreUntracked
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 1f49629..db4a4e2 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/JGitText.java
@@ -543,6 +543,7 @@ public static JGitText get() { /***/ public String messageAndTaggerNotAllowedInUnannotatedTags; /***/ public String midxChunkNeeded; /***/ public String midxChunkRepeated; + /***/ public String midxChunkTooBig; /***/ public String midxChunkUnknown; /***/ public String minutesAgo; /***/ public String mismatchOffset;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalk.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/revwalk/RefAdvancerWalk.java similarity index 77% rename from org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalk.java rename to org.eclipse.jgit/src/org/eclipse/jgit/internal/revwalk/RefAdvancerWalk.java index d0d8056..714ccf7 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/RefAdvancerWalk.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/revwalk/RefAdvancerWalk.java
@@ -7,7 +7,7 @@ * * SPDX-License-Identifier: BSD-3-Clause */ -package org.eclipse.jgit.internal.storage.dfs; +package org.eclipse.jgit.internal.revwalk; import java.io.IOException; import java.util.HashSet; @@ -16,6 +16,7 @@ import org.eclipse.jgit.errors.StopWalkException; import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevObject; import org.eclipse.jgit.revwalk.RevSort; @@ -25,21 +26,38 @@ /** * Walk from some commits and find where to they enter a pack */ -class RefAdvancerWalk { +public class RefAdvancerWalk { - private final DfsRepository db; + private final Repository db; private final InPackPredicate includeP; /** - * True when the commit is in the pack + * True when the commit is in the target set */ @FunctionalInterface - interface InPackPredicate { + public interface InPackPredicate { + /** + * Check if the commit belongs to the "pack" (target set of objects) + * + * @param c + * a commit + * @return true if the commit is in the set + * @throws IOException + * an error reading data + */ boolean test(RevCommit c) throws IOException; } - RefAdvancerWalk(DfsRepository db, InPackPredicate include) { + /** + * Constructor + * + * @param db + * a repository + * @param include + * predicate telling if a commit in the target set + */ + public RefAdvancerWalk(Repository db, InPackPredicate include) { this.db = db; this.includeP = include; } @@ -64,7 +82,7 @@ private RevWalk createRevWalk() { * @throws IOException * error browsing history */ - Set<RevCommit> advance(List<ObjectId> allTips) throws IOException { + public Set<RevCommit> advance(List<ObjectId> allTips) throws IOException { Set<RevCommit> tipsInMidx = new HashSet<>(allTips.size()); try (RevWalk rw = createRevWalk()) { for (ObjectId tip : allTips) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriter.java index 654bc30..6ead06d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsMidxWriter.java
@@ -13,11 +13,11 @@ import static java.util.stream.Collectors.toMap; import static org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.PackSource.GC; import static org.eclipse.jgit.internal.storage.pack.PackExt.MULTI_PACK_INDEX; +import static org.eclipse.jgit.internal.storage.pack.PackExt.PACK; import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -25,17 +25,22 @@ import java.util.function.Function; import org.eclipse.jgit.annotations.Nullable; +import org.eclipse.jgit.internal.revwalk.RefAdvancerWalk; import org.eclipse.jgit.internal.storage.file.PackBitmapIndexBuilder; -import org.eclipse.jgit.internal.storage.file.PackIndex; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex; import org.eclipse.jgit.internal.storage.midx.MultiPackIndexWriter; +import org.eclipse.jgit.internal.storage.midx.PackIndexMerger; +import org.eclipse.jgit.internal.storage.pack.ObjectToPack; import org.eclipse.jgit.internal.storage.pack.PackBitmapCalculator; import org.eclipse.jgit.internal.storage.pack.PackBitmapIndexWriter; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.ObjectIdOwnerMap; import org.eclipse.jgit.lib.ProgressMonitor; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.storage.pack.PackConfig; +import org.eclipse.jgit.util.Base64; /** * Create a pack with a multipack index, setting the required fields in the @@ -47,30 +52,6 @@ private DfsMidxWriter() { } /** - * Create a pack with the multipack index (without bitmaps). - * - * @param pm - * a progress monitor - * @param objdb - * an object database - * @param packs - * the packs to cover - * @param base - * parent of this midx in the chain (if any). - * - * @return a pack (uncommitted) with the multipack index of the packs passed - * as parameter. - * @throws IOException - * an error opening the packs or writing the stream. - */ - public static DfsPackDescription writeMidx(ProgressMonitor pm, - DfsObjDatabase objdb, List<DfsPackFile> packs, - @Nullable DfsPackDescription base) throws IOException { - return writeMidx(pm, objdb, packs, base, - new PackConfig(objdb.getRepository())); - } - - /** * Create a pack with the multipack index * * @param pm @@ -82,7 +63,8 @@ public static DfsPackDescription writeMidx(ProgressMonitor pm, * @param base * parent of this midx in the chain (if any). * @param packConfig - * pack config with the parameters to write bitmaps. + * pack config with parameter to build bitmaps. Null to disable + * bitmaps. * @return a pack (uncommitted) with the multipack index of the packs passed * as parameter. * @throws IOException @@ -90,25 +72,28 @@ public static DfsPackDescription writeMidx(ProgressMonitor pm, */ public static DfsPackDescription writeMidx(ProgressMonitor pm, DfsObjDatabase objdb, List<DfsPackFile> packs, - @Nullable DfsPackDescription base, PackConfig packConfig) + @Nullable DfsPackDescription base, @Nullable PackConfig packConfig) throws IOException { - LinkedHashMap<String, PackIndex> inputs = new LinkedHashMap<>( - packs.size()); + PackIndexMerger.Builder dataBuilder = PackIndexMerger.builder(); try (DfsReader ctx = objdb.newReader()) { for (DfsPackFile pack : packs) { - inputs.put(pack.getPackDescription().getPackName(), + dataBuilder.addPack(pack.getPackDescription().getPackName(), pack.getPackIndex(ctx)); } } + PackIndexMerger data = dataBuilder.build(); + byte[] checksum; + DfsPackDescription midxPackDesc = objdb.newPack(GC); try (DfsOutputStream out = objdb.writeFile(midxPackDesc, MULTI_PACK_INDEX)) { MultiPackIndexWriter w = new MultiPackIndexWriter(); - MultiPackIndexWriter.Result result = w.write(pm, out, inputs); + MultiPackIndexWriter.Result result = w.write(pm, out, data); midxPackDesc.addFileExt(MULTI_PACK_INDEX); midxPackDesc.setFileSize(MULTI_PACK_INDEX, result.bytesWritten()); midxPackDesc.setObjectCount(result.objectCount()); + checksum = Base64.decode(result.checksum()); Map<String, DfsPackDescription> byName = packs.stream() .map(DfsPackFile::getPackDescription) @@ -122,11 +107,10 @@ public static DfsPackDescription writeMidx(ProgressMonitor pm, } } - // TODO(ifrade): At the moment write bitmaps only in the bottom midx. - // A single-pack midx in the base should be covering only GC. No - // need to write midx bitmaps (we will use GC bitmaps). - if (base == null && midxPackDesc.getCoveredPacks().size() > 1) { + // TODO(ifrade): At the moment we only support bitmaps on the base + if (base == null && packConfig != null) { createAndAttachBitmaps(objdb.getRepository(), midxPackDesc, + checksum, data, packs, packConfig); } @@ -134,12 +118,8 @@ public static DfsPackDescription writeMidx(ProgressMonitor pm, } private static void createAndAttachBitmaps(DfsRepository db, - DfsPackDescription desc, PackConfig cfg) throws IOException { - - DfsObjDatabase objdb = db.getObjectDatabase(); - // We need a DfsPackFile to reread the contents - DfsPackFileMidx midxPack = db.getObjectDatabase().createDfsPackFileMidx( - DfsBlockCache.getInstance(), desc, new ArrayList<>()); + DfsPackDescription desc, byte[] checksum, PackIndexMerger data, + List<DfsPackFile> packs, PackConfig cfg) throws IOException { // TODO(ifrade): Verify we duplicate the behaviour about tags of regular // bitmapping @@ -150,14 +130,16 @@ private static void createAndAttachBitmaps(DfsRepository db, return; } - try (DfsReader ctx = objdb.newReader()) { + try (DfsReader ctx = db.getObjectDatabase().newReader()) { + ObjectIdOwnerMap<ObjectToPack> byId = new ObjectIdOwnerMap<>(); + List<ObjectToPack> otps = asObjectsToPack(ctx, data, packs, byId); + RefAdvancerWalk adv = new RefAdvancerWalk(db, - c -> midxPack.hasObject(ctx, c)); + c -> byId.contains(c)); Set<RevCommit> inPack = adv.advance(allHeads); - byte[] checksum = midxPack.getChecksum(ctx); PackBitmapIndexBuilder writeBitmaps = new PackBitmapIndexBuilder( - midxPack.getLocalObjects(ctx)); + otps); int commitCount = writeBitmaps.getCommits().cardinality(); PackBitmapCalculator calculator = new PackBitmapCalculator(cfg); @@ -170,4 +152,30 @@ private static void createAndAttachBitmaps(DfsRepository db, } } + private static List<ObjectToPack> asObjectsToPack(DfsReader ctx, + PackIndexMerger data, List<DfsPackFile> packs, + ObjectIdOwnerMap<ObjectToPack> byId) throws IOException { + long[] accPackSize = new long[packs.size()]; + for (int i = 1; i < packs.size(); i++) { + long prevValue = accPackSize[i - 1]; + accPackSize[i] = prevValue + + packs.get(i - 1).getPackDescription().getFileSize(PACK); + } + + List<ObjectToPack> result = new ArrayList<>( + data.getUniqueObjectCount()); + MultiPackIndex.MidxIterator it = data.bySha1Iterator(); + while (it.hasNext()) { + MultiPackIndex.MutableEntry entry = it.next(); + int objectType = packs.get(entry.getPackId()).getObjectType(ctx, + entry.getOffset()); + ObjectToPack o = new ObjectToPack(entry.getObjectId().toObjectId(), + objectType); + o.setOffset(accPackSize[entry.getPackId()] + entry.getOffset()); + result.add(o); + byId.add(o); + } + return result; + } + }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidx.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidx.java index 0582737..50ae998 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidx.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidx.java
@@ -20,6 +20,7 @@ import org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException; import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.internal.storage.file.PackReverseIndex; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex; import org.eclipse.jgit.internal.storage.pack.ObjectToPack; import org.eclipse.jgit.internal.storage.pack.PackOutputStream; import org.eclipse.jgit.lib.AbbreviatedObjectId; @@ -56,7 +57,12 @@ public static DfsPackFileMidx create(DfsBlockCache cache, DfsPackDescription desc, List<DfsPackFile> requiredPacks, @Nullable DfsPackFileMidx base) { if (desc.getCoveredPacks().size() == 1) { - return new DfsPackFileMidxSingle(cache, desc, requiredPacks.get(0), + String coveredPackName = desc.getCoveredPacks().get(0) + .getPackName(); + DfsPackFile coveredPack = requiredPacks.stream().filter(p -> p + .getPackDescription().getPackName().equals(coveredPackName)) + .findFirst().orElseThrow(); + return new DfsPackFileMidxSingle(cache, desc, coveredPack, base); } return new DfsPackFileMidxNPacks(cache, desc, requiredPacks, base); @@ -152,6 +158,18 @@ protected int getObjectCount(DfsReader ctx) throws IOException { */ protected abstract byte[] getChecksum(DfsReader ctx) throws IOException; + /** + * Get a midx iterator over the contents of *this* midx, without the base. + * + * @param ctx + * a ready + * @return an iterator over the objects in this midx in sha1 order + * @throws IOException + * an error loading the underlying data + */ + protected abstract MultiPackIndex.MidxIterator localIterator(DfsReader ctx) + throws IOException; + @Override public final PackIndex getPackIndex(DfsReader ctx) { return new MidxPackIndex(this, ctx);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxNPacks.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxNPacks.java index bed7a53..f042f2e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxNPacks.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxNPacks.java
@@ -52,8 +52,6 @@ public final class DfsPackFileMidxNPacks extends DfsPackFileMidx { private static final int REF_POSITION = 0; - private final List<DfsPackFile> packs; - // The required packs, in the order specified in the multipack index // Initialized lazily, when the midx is loaded private final DfsPackFile[] packsInIdOrder; @@ -64,14 +62,27 @@ public final class DfsPackFileMidxNPacks extends DfsPackFileMidx { private final VOffsetCalculatorNPacks offsetCalculator; + /** + * Create the DfsPackFileMidx instance for this midx with n packs + * + * @param cache + * dfs block cache + * @param desc + * description of the midx + * @param knownPacks + * known packs, to translate the pack names in coveredPacks into + * DfsPackFile instances. It must contain at least all packs + * covered by this midx. + * @param base + * base used by this midx. + */ DfsPackFileMidxNPacks(DfsBlockCache cache, DfsPackDescription desc, - List<DfsPackFile> requiredPacks, @Nullable DfsPackFileMidx base) { + List<DfsPackFile> knownPacks, @Nullable DfsPackFileMidx base) { super(cache, desc); this.base = base; - this.packs = requiredPacks; String[] coveredPackNames = desc.getCoveredPacks().stream() .map(DfsPackDescription::getPackName).toArray(String[]::new); - packsInIdOrder = getPacksInMidxIdOrder(coveredPackNames); + packsInIdOrder = getPacksInMidxIdOrder(knownPacks, coveredPackNames); offsetCalculator = VOffsetCalculatorNPacks.fromPacks(packsInIdOrder, base != null ? base.getOffsetCalculator() : null); this.length = offsetCalculator.getMaxOffset(); @@ -114,8 +125,9 @@ private static RefWithSize loadMultiPackIndex(DfsReader ctx, private record RefWithSize(MultiPackIndex idx, long size) { } - private DfsPackFile[] getPacksInMidxIdOrder(String[] packNames) { - Map<String, DfsPackFile> byName = packs.stream() + private DfsPackFile[] getPacksInMidxIdOrder(List<DfsPackFile> knownPacks, + String[] packNames) { + Map<String, DfsPackFile> byName = knownPacks.stream() .collect(Collectors.toUnmodifiableMap( p -> p.getPackDescription().getPackName(), Function.identity())); @@ -170,7 +182,7 @@ && getPackDescription().hasFileExt(BITMAP_INDEX)) { List<DfsPackFile> fullyIncludedIn(DfsReader ctx, BitmapIndex.BitmapBuilder need) throws IOException { List<DfsPackFile> fullyIncluded = new ArrayList<>(); - for (DfsPackFile pack : packs) { + for (DfsPackFile pack : packsInIdOrder) { List<DfsPackFile> includedPacks = pack.fullyIncludedIn(ctx, need); if (!includedPacks.isEmpty()) { fullyIncluded.addAll(includedPacks); @@ -186,7 +198,7 @@ List<DfsPackFile> fullyIncludedIn(DfsReader ctx, @Override public CommitGraph getCommitGraph(DfsReader ctx) throws IOException { - for (DfsPackFile pack : packs) { + for (DfsPackFile pack : packsInIdOrder) { CommitGraph cg = pack.getCommitGraph(ctx); if (cg != null) { return cg; @@ -242,6 +254,12 @@ protected int getObjectCount(DfsReader ctx) throws IOException { return midx(ctx).getChecksum(); } + @Override + protected MultiPackIndex.MidxIterator localIterator(DfsReader ctx) + throws IOException { + return midx(ctx).iterator(); + } + /** * Packs indexed by this multipack index (base NOT included) * @@ -249,7 +267,7 @@ protected int getObjectCount(DfsReader ctx) throws IOException { */ @Override public List<DfsPackFile> getCoveredPacks() { - return packs; + return List.of(packsInIdOrder); } /** @@ -344,7 +362,7 @@ void resolve(DfsReader ctx, Set<ObjectId> matches, AbbreviatedObjectId id, @Override void copyPackAsIs(PackOutputStream out, DfsReader ctx) throws IOException { // Assumming the order of the packs does not really matter - for (DfsPackFile pack : packs) { + for (DfsPackFile pack : packsInIdOrder) { pack.copyPackAsIs(out, ctx); }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxSingle.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxSingle.java index 71ff884..89dbf9d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxSingle.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFileMidxSingle.java
@@ -25,6 +25,8 @@ import org.eclipse.jgit.internal.storage.file.PackBitmapIndex; import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.internal.storage.file.PackReverseIndex; +import org.eclipse.jgit.internal.storage.midx.MidxIterators; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex; import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.PackOffset; import org.eclipse.jgit.internal.storage.pack.ObjectToPack; import org.eclipse.jgit.internal.storage.pack.PackExt; @@ -149,6 +151,14 @@ protected int getObjectCount(DfsReader ctx) throws IOException { return checksum; } + @Override + protected MultiPackIndex.MidxIterator localIterator(DfsReader ctx) + throws IOException { + String packName = pack.getPackDescription().getPackName(); + PackIndex packIndex = pack.getPackIndex(ctx); + return MidxIterators.fromPackIndexIterator(packName, packIndex); + } + /** * Packs indexed by this multipack index (base NOT included) *
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/MidxWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/MidxWriter.java new file mode 100644 index 0000000..91f60b6 --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/MidxWriter.java
@@ -0,0 +1,61 @@ +/* + * Copyright (C) 2026, 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.file; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Collection; +import java.util.Comparator; + +import org.eclipse.jgit.internal.storage.midx.MultiPackIndexWriter; +import org.eclipse.jgit.internal.storage.midx.PackIndexMerger; +import org.eclipse.jgit.internal.storage.pack.PackExt; +import org.eclipse.jgit.lib.ProgressMonitor; + +/** + * Helper to write multipack indexes. + */ +public class MidxWriter { + + /** + * Write a mdix over the packs + * + * @param pm + * a progress monitor + * @param packs + * packs to cover with the midx + * @param midxOut + * file to write the resulting midx + * @throws IOException + * an error reading any of the input packs or indexes + */ + public static void writeMidx(ProgressMonitor pm, Collection<Pack> packs, + File midxOut) throws IOException { + PackIndexMerger.Builder builder = PackIndexMerger.builder(); + builder.setProgressMonitor(pm); + + Collection<Pack> packList = packs.stream() + .sorted(Comparator.comparing(Pack::getPackName)).toList(); + pm.beginTask("Adding packs to midx", packList.size()); + for (Pack pack : packList) { + PackFile packFile = pack.getPackFile().create(PackExt.INDEX); + builder.addPack(packFile.getName(), pack.getIndex()); + pm.update(1); + } + pm.endTask(); + + MultiPackIndexWriter writer = new MultiPackIndexWriter(); + try (FileOutputStream out = new FileOutputStream( + midxOut.getAbsolutePath())) { + writer.write(pm, out, builder.build()); + } + } +}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java index 544961b..872bb9e 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackDirectory.java
@@ -313,45 +313,53 @@ private int checkRescanPackThreshold(int retries, PackMismatchException e) } private void handlePackError(IOException e, Pack p) { - String warnTemplate = null; - String debugTemplate = null; - int transientErrorCount = 0; - String errorTemplate = JGitText.get().exceptionWhileReadingPack; - if ((e instanceof CorruptObjectException) - || (e instanceof PackInvalidException)) { - warnTemplate = JGitText.get().corruptPack; - LOG.warn(MessageFormat.format(warnTemplate, - p.getPackFile().getAbsolutePath()), e); - // Assume the pack is corrupted, and remove it from the list. - remove(p); - } else if (e instanceof FileNotFoundException) { - if (p.getPackFile().exists()) { - errorTemplate = JGitText.get().packInaccessible; - transientErrorCount = p.incrementTransientErrorCount(); - } else { - debugTemplate = JGitText.get().packWasDeleted; - remove(p); - } + Throwable cause = e.getCause(); + if (e instanceof FileNotFoundException + || cause instanceof FileNotFoundException) { + handleFileNotFound(e, p); + } else if (e instanceof CorruptObjectException + || e instanceof PackInvalidException) { + handleCorruptPack(e, p); } else if (FileUtils.isStaleFileHandleInCausalChain(e)) { - warnTemplate = JGitText.get().packHandleIsStale; - remove(p); + handleStaleFileHandle(e, p); } else { - transientErrorCount = p.incrementTransientErrorCount(); + handleTransientError(e, p, + JGitText.get().exceptionWhileReadingPack); } - if (warnTemplate != null) { - LOG.warn(MessageFormat.format(warnTemplate, - p.getPackFile().getAbsolutePath()), e); - } else if (debugTemplate != null) { - LOG.debug(MessageFormat.format(debugTemplate, - p.getPackFile().getAbsolutePath()), e); + } + + private void handleFileNotFound(IOException e, Pack p) { + if (p.getPackFile().exists()) { + handleTransientError(e, p, JGitText.get().packInaccessible); } else { - if (doLogExponentialBackoff(transientErrorCount)) { - // Don't remove the pack from the list, as the error may be - // transient. - LOG.error(MessageFormat.format(errorTemplate, - p.getPackFile().getAbsolutePath(), - Integer.valueOf(transientErrorCount)), e); + if (LOG.isDebugEnabled()) { + LOG.debug(MessageFormat.format(JGitText.get().packWasDeleted, + p.getPackFile().getAbsolutePath()), e); } + remove(p); + } + } + + private void handleCorruptPack(IOException e, Pack p) { + LOG.warn(MessageFormat.format(JGitText.get().corruptPack, + p.getPackFile().getAbsolutePath()), e); + // Assume the pack is corrupted, and remove it from the list. + remove(p); + } + + private void handleStaleFileHandle(IOException e, Pack p) { + LOG.warn(MessageFormat.format(JGitText.get().packHandleIsStale, + p.getPackFile().getAbsolutePath()), e); + remove(p); + } + + private void handleTransientError(IOException e, Pack p, + String errorTemplate) { + int transientErrorCount = p.incrementTransientErrorCount(); + if (doLogExponentialBackoff(transientErrorCount)) { + LOG.error(MessageFormat.format(errorTemplate, + p.getPackFile().getAbsolutePath(), + Integer.valueOf(transientErrorCount)), e); } }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/memory/TernarySearchTree.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/memory/TernarySearchTree.java index 72434db..bc2c028 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/memory/TernarySearchTree.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/memory/TernarySearchTree.java
@@ -43,7 +43,7 @@ * type of values in this tree * @since 6.5 */ -public final class TernarySearchTree<Value> { +public class TernarySearchTree<Value> { private static final char WILDCARD = '?';
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MidxIterators.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MidxIterators.java new file mode 100644 index 0000000..c30b9b8 --- /dev/null +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MidxIterators.java
@@ -0,0 +1,304 @@ +/* + * Copyright (C) 2026, 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.midx; + +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; + +import org.eclipse.jgit.internal.storage.file.PackIndex; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MidxIterator; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MutableEntry; +import org.eclipse.jgit.lib.MutableObjectId; + +/** + * Helpers for midx iterators + */ +public final class MidxIterators { + + /** + * Wrap a PackIndex iterator so it looks like a midx iterator with a fixed + * packId + * + * @param packName + * pack name this iterator is going over + * @param idx + * a PackIndex + * @return a midx iterator that returns the objects of the pack index in the + * original iterator order + */ + public static MidxIterator fromPackIndexIterator(String packName, + PackIndex idx) { + return new MidxIteratorOverPackIndex(packName, idx); + } + + /** + * Merge results from multiple midx iterators. + * <p> + * This iterator can return duplicates (in ascending packId order). Wrap + * with {@link #dedup(MidxIterator)} to remove duplicates. + * <p> + * This iterator shifts the pack ids in iterator order. If the first + * iterator covers 3 packs, packIds of the second iterator are increased by + * 3. + * + * @param iterators + * midx iterators to combine + * @return a unique iterator that returns the union of the iterators in sha1 + * order. The packIds of the entries are shi + */ + public static MidxIterator join(List<MidxIterator> iterators) { + return new JoinMidxIterator(iterators); + } + + /** + * Dedup consecutive duplicates from a midx iterator + * + * @param source + * a midx iterator emitting entries in sha1 order. In case of + * duplicates, the first one is returned and others skipped. + * @return iterator without duplicates. + */ + public static MidxIterator dedup(MidxIterator source) { + return new DedupMidxIterator(source); + } + + private MidxIterators() { + } + + /** + * Convert a PackIndex iterator into a MidxIterator + */ + private static class MidxIteratorOverPackIndex implements MidxIterator { + + private final List<String> packNames; + + private final PackIndex idx; + + private Iterator<PackIndex.MutableEntry> idxIt; + + private boolean peeked; + + private final MutableEntry entry = new MutableEntry(); + + MidxIteratorOverPackIndex(String packName, + PackIndex idx) { + this.packNames = List.of(packName); + this.idx = idx; + this.idxIt = idx.iterator(); + } + + @Override + public MutableEntry peek() { + if (peeked) { + return entry; + } + + peeked = true; + readNext(); + return entry; + } + + @Override + public List<String> getPackNames() { + return packNames; + } + + @Override + public boolean hasNext() { + if (peeked) { + return true; + } + return idxIt.hasNext(); + } + + @Override + public MutableEntry next() { + if (peeked) { + peeked = false; + return entry; + } + readNext(); + return entry; + } + + private void readNext() { + PackIndex.MutableEntry idx = idxIt.next(); + idx.copyOidTo(entry.oid); + entry.packOffset.setValues(0, idx.getOffset()); + } + + @Override + public void reset() { + this.idxIt = idx.iterator(); + this.entry.clear(); + peeked = false; + } + } + + private static class JoinMidxIterator implements MidxIterator { + + private final List<String> packNames; + + private final List<MidxIterator> indexIterators; + + private final int[] packCountAgg; + + private final MutableEntry local = new MutableEntry(); + + public JoinMidxIterator(List<MidxIterator> indexIterators) { + this.indexIterators = indexIterators; + packCountAgg = new int[indexIterators.size()]; + for (int i = 1; i < indexIterators.size(); i++) { + packCountAgg[i] = indexIterators.get(i - 1).getPackNames() + .size() + packCountAgg[i - 1]; + } + packNames = indexIterators.stream().map(MidxIterator::getPackNames) + .flatMap(List::stream).toList(); + } + + @Override + public MutableEntry peek() { + int p = best(); + MidxIterator it = indexIterators.get(p); + return shiftPackId(it.peek(), packCountAgg[p]); + } + + @Override + public List<String> getPackNames() { + return packNames; + } + + @Override + public boolean hasNext() { + return indexIterators.stream().anyMatch(Iterator::hasNext); + } + + @Override + public MutableEntry next() { + int p = best(); + MidxIterator it = indexIterators.get(p); + return shiftPackId(it.next(), packCountAgg[p]); + } + + private MutableEntry shiftPackId(MutableEntry entry, int shift) { + local.fill(entry, shift); + return local; + } + + private int best() { + int winnerPos = -1; + int winnerPackShift = 0; + MidxIterator winner = null; + for (int index = 0; index < indexIterators.size(); index++) { + MidxIterator current = indexIterators.get(index); + if (!current.hasNext()) { + continue; + } + if (winner == null + || compareEntries(current.peek(), packCountAgg[index], + winner.peek(), winnerPackShift) < 0) { + winner = current; + winnerPos = index; + winnerPackShift = packCountAgg[winnerPos]; + } + } + + if (winner == null) { + throw new NoSuchElementException(); + } + + return winnerPos; + } + + private static int compareEntries(MutableEntry a, int aPackShift, + MutableEntry b, int bPackShift) { + int cmp = a.oid.compareTo(b.oid); + if (cmp != 0) { + return cmp; + } + + return Integer.compare(a.getPackId() + aPackShift, + b.getPackId() + bPackShift); + } + + @Override + public void reset() { + indexIterators.stream().forEach(MidxIterator::reset); + local.clear(); + } + } + + private static class DedupMidxIterator implements MidxIterator { + private final MidxIterator src; + + private final MutableObjectId lastOid = new MutableObjectId(); + + private MutableEntry next; + + private final MutableEntry copy = new MutableEntry(); + + /** + * Iterator over sorted by sha1 entries that removes duplicates choosing + * the first one found. + * + * @param src + * iterator in sha1 order + */ + DedupMidxIterator(MidxIterator src) { + this.src = src; + readNext(); + } + + @Override + public MutableEntry peek() { + return next; + } + + @Override + public List<String> getPackNames() { + return src.getPackNames(); + } + + @Override + public boolean hasNext() { + return next != null; + } + + @Override + public MutableEntry next() { + copy.fill(next, 0); + readNext(); + return copy; + } + + private void readNext() { + while (true) { + if (!src.hasNext()) { + next = null; + return; + } + + next = src.next(); + if (!lastOid.equals(next.oid)) { + lastOid.fromObjectId(next.oid); + return; + } + } + } + + @Override + public void reset() { + lastOid.clear(); + src.reset(); + readNext(); + } + } +}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndex.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndex.java index 1721cb6..b209aa9 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndex.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndex.java
@@ -162,6 +162,11 @@ interface MidxIterator extends Iterator<MutableEntry> { * @return pack names */ List<String> getPackNames(); + + /** + * Restart the iteration from the beginning + */ + void reset(); } /** @@ -235,21 +240,11 @@ public String toString() { * <p> * Mutable so the iterator can reuse the instance for performance. */ - class MutableEntry implements Comparable<MutableEntry> { + class MutableEntry { protected final MutableObjectId oid = new MutableObjectId(); protected final PackOffset packOffset = new PackOffset(); - @Override - public int compareTo(MutableEntry mutableEntry) { - int cmp = oid.compareTo(mutableEntry.oid); - if (cmp != 0) { - return cmp; - } - - return packOffset.getPackId() - mutableEntry.packOffset.getPackId(); - } - /** * Copy data from other into this instance, adding the shift to the * packId @@ -278,6 +273,11 @@ public long getOffset() { return packOffset.getOffset(); } + public void clear() { + oid.clear(); + packOffset.setValues(0, 0); + } + @Override public String toString() { return String.format("%s,%s", oid.name(), packOffset);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoader.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoader.java index 4b70c2c..a3cb115 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoader.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexLoader.java
@@ -162,7 +162,8 @@ public static MultiPackIndex read(InputStream fd) if (len > Integer.MAX_VALUE - 8) { // http://stackoverflow.com/a/8381338 throw new MultiPackIndexFormatException( - JGitText.get().multiPackIndexFileIsTooLargeForJgit); + MessageFormat.format(JGitText.get().midxChunkTooBig, + chunkId, len)); } byte[] buffer = new byte[(int) len];
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexV1.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexV1.java index ac6f00c..cfa5c33 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexV1.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexV1.java
@@ -392,6 +392,11 @@ public MutableEntry peek() { public List<String> getPackNames() { return Arrays.asList(midx.getPackNames()); } + + @Override + public void reset() { + position = 0; + } } private static class ReverseIndex {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriter.java index 4d2e580..00c2a93 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/MultiPackIndexWriter.java
@@ -35,10 +35,10 @@ import java.util.Map; import org.eclipse.jgit.internal.JGitText; -import org.eclipse.jgit.internal.storage.file.PackIndex; import org.eclipse.jgit.internal.storage.io.CancellableDigestOutputStream; -import org.eclipse.jgit.internal.storage.midx.PackIndexMerger.MidxMutableEntry; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MutableEntry; import org.eclipse.jgit.lib.ProgressMonitor; +import org.eclipse.jgit.util.Base64; import org.eclipse.jgit.util.NB; /** @@ -66,9 +66,11 @@ public class MultiPackIndexWriter { * packs) * @param packNames * packNames + * @param checksum + * checksum of the written midx */ public record Result(long bytesWritten, int objectCount, - List<String> packNames) { + List<String> packNames, String checksum) { } /** @@ -78,17 +80,15 @@ public record Result(long bytesWritten, int objectCount, * progress monitor * @param outputStream * stream to write the multipack index file - * @param inputs - * pairs of name and index for each pack to include in the - * multipack index. + * @param data + * a pack index merger with the data sources (in order) for this + * midx * @return data about the write (e.g. bytes written) * @throws IOException * Error writing to the stream */ public Result write(ProgressMonitor monitor, OutputStream outputStream, - Map<String, PackIndex> inputs) throws IOException { - PackIndexMerger data = new PackIndexMerger(inputs); - + PackIndexMerger data) throws IOException { // List of chunks in the order they need to be written List<ChunkHeader> chunkHeaders = createChunkHeaders(data); long expectedSize = calculateExpectedSize(chunkHeaders); @@ -97,11 +97,14 @@ public Result write(ProgressMonitor monitor, OutputStream outputStream, writeHeader(out, chunkHeaders.size(), data.getPackCount()); writeChunkLookup(out, chunkHeaders); + monitor.beginTask("Writing midx chuncks", chunkHeaders.size()); WriteContext ctx = new WriteContext(out, data); for (ChunkHeader chunk : chunkHeaders) { chunk.writerFn.write(ctx); + monitor.update(1); } - writeCheckSum(out); + monitor.endTask(); + byte[] checksum = writeCheckSum(out); if (expectedSize != out.length()) { throw new IllegalStateException(String.format( JGitText.get().multiPackIndexUnexpectedSize, @@ -109,7 +112,7 @@ public Result write(ProgressMonitor monitor, OutputStream outputStream, Long.valueOf(out.length()))); } return new Result(expectedSize, data.getUniqueObjectCount(), - data.getPackNames()); + data.getPackNames(), Base64.encodeBytes(checksum)); } catch (InterruptedIOException e) { throw new IOException(JGitText.get().multiPackIndexWritingCancelled, e); @@ -223,9 +226,9 @@ private void writeChunkLookup(CancellableDigestOutputStream out, private void writeFanoutTable(WriteContext ctx) throws IOException { byte[] tmp = new byte[4]; int[] fanout = new int[256]; - Iterator<MidxMutableEntry> iterator = ctx.data.bySha1Iterator(); + Iterator<MutableEntry> iterator = ctx.data.bySha1Iterator(); while (iterator.hasNext()) { - MidxMutableEntry e = iterator.next(); + MutableEntry e = iterator.next(); fanout[e.getObjectId().getFirstByte() & 0xff]++; } for (int i = 1; i < fanout.length; i++) { @@ -250,9 +253,9 @@ private void writeFanoutTable(WriteContext ctx) throws IOException { private void writeOidLookUp(WriteContext ctx) throws IOException { byte[] tmp = new byte[OBJECT_ID_LENGTH]; - Iterator<MidxMutableEntry> iterator = ctx.data.bySha1Iterator(); + Iterator<MutableEntry> iterator = ctx.data.bySha1Iterator(); while (iterator.hasNext()) { - MidxMutableEntry e = iterator.next(); + MutableEntry e = iterator.next(); e.getObjectId().copyRawTo(tmp, 0); ctx.out.write(tmp, 0, OBJECT_ID_LENGTH); } @@ -272,9 +275,9 @@ private void writeOidLookUp(WriteContext ctx) throws IOException { */ private void writeObjectOffsets(WriteContext ctx) throws IOException { byte[] entry = new byte[8]; - Iterator<MidxMutableEntry> iterator = ctx.data.bySha1Iterator(); + Iterator<MutableEntry> iterator = ctx.data.bySha1Iterator(); while (iterator.hasNext()) { - MidxMutableEntry e = iterator.next(); + MutableEntry e = iterator.next(); NB.encodeInt32(entry, 0, e.getPackId()); if (!ctx.data.needsLargeOffsetsChunk() || fitsIn31bits(e.getOffset())) { @@ -305,10 +308,10 @@ private void writeRidx(WriteContext ctx) throws IOException { // memory. We could also iterate reverse indexes looking up // their position in the midx (and discarding if the pack doesn't // match). - Iterator<MidxMutableEntry> iterator = ctx.data.bySha1Iterator(); + Iterator<MutableEntry> iterator = ctx.data.bySha1Iterator(); int midxPosition = 0; while (iterator.hasNext()) { - MidxMutableEntry e = iterator.next(); + MutableEntry e = iterator.next(); OffsetPosition op = new OffsetPosition(e.getOffset(), midxPosition); midxPosition++; packOffsets.computeIfAbsent(e.getPackId(), k -> new ArrayList<>()) @@ -384,13 +387,16 @@ private void writePackfileNames(WriteContext ctx) throws IOException { * * @param out * output stream used to write + * @return the checksum (same value that is written as footer of the file) * @throws IOException * error writing to the output stream */ - private void writeCheckSum(CancellableDigestOutputStream out) + private byte[] writeCheckSum(CancellableDigestOutputStream out) throws IOException { - out.write(out.getDigest()); + byte[] checksum = out.getDigest(); + out.write(checksum); out.flush(); + return checksum; } private record OffsetPosition(long offset, int position) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/PackIndexMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/PackIndexMerger.java index 4a296ee..8584176 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/PackIndexMerger.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/midx/PackIndexMerger.java
@@ -10,14 +10,14 @@ package org.eclipse.jgit.internal.storage.midx; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; import org.eclipse.jgit.internal.storage.file.PackIndex; -import org.eclipse.jgit.lib.AnyObjectId; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MidxIterator; +import org.eclipse.jgit.internal.storage.midx.MultiPackIndex.MutableEntry; import org.eclipse.jgit.lib.MutableObjectId; +import org.eclipse.jgit.lib.NullProgressMonitor; +import org.eclipse.jgit.lib.ProgressMonitor; /** * Collect the stats and offers an iterator over the union of n-pack indexes. @@ -32,59 +32,13 @@ * entries. The stats of the combined index are calculated in an iteration at * construction time. */ -class PackIndexMerger { +public class PackIndexMerger { private static final int LIMIT_31_BITS = (1 << 31) - 1; private static final long LIMIT_32_BITS = (1L << 32) - 1; - /** - * Object returned by the iterator. - * <p> - * The iterator returns (on each next()) the same instance with different - * values, to avoid allocating many short-lived objects. Callers should not - * keep a reference to that returned value. - */ - static class MidxMutableEntry { - // The object id - private final MutableObjectId oid = new MutableObjectId(); - - // Position of the pack in the ordered list of pack in this merger - private int packId; - - // Offset in its pack - private long offset; - - public AnyObjectId getObjectId() { - return oid; - } - - public int getPackId() { - return packId; - } - - public long getOffset() { - return offset; - } - - /** - * Copy values from another mutable entry - * - * @param packId - * packId - * @param other - * another mutable entry - */ - private void fill(int packId, PackIndex.MutableEntry other) { - other.copyOidTo(oid); - this.packId = packId; - this.offset = other.getOffset(); - } - } - - private final List<String> packNames; - - private final List<PackIndex> indexes; + private final MidxIterator midxIterator; private final boolean needsLargeOffsetsChunk; @@ -94,47 +48,127 @@ private void fill(int packId, PackIndex.MutableEntry other) { private final int[] objectsPerPack; - /** - * Build a common view of these pack indexes - * <p> - * Order matters: in case of duplicates, the first pack with the object wins - * - * @param packs - * map of pack names to indexes, ordered. - */ - PackIndexMerger(Map<String, PackIndex> packs) { - this.packNames = packs.keySet().stream().toList(); - this.indexes = packs.values().stream().toList(); + private final List<String> packnames; - objectsPerPack = new int[packNames.size()]; - // Iterate for duplicates + /** + * Builder collecting the inputs for the merger. + * <p> + * Order matters. Packs will appear in the midx in the order they are added. + */ + public static class Builder { + + private final List<MidxIterator> packIndexes = new ArrayList<>(); + + private ProgressMonitor pm = NullProgressMonitor.INSTANCE; + + /** + * Add a regular pack to the midx + * + * @param name + * name of the pack + * @param idx + * primary index of the pack + * @return this builder + */ + public Builder addPack(String name, PackIndex idx) { + packIndexes.add(MidxIterators.fromPackIndexIterator(name, idx)); + return this; + } + + /** + * Add data from this midx iterator to the merge + * <p> + * Packs are kept in the order of the iterator. + * + * @param midx + * a midx iterator + * @return this builder + */ + public Builder addMidx(MidxIterator midx) { + packIndexes.add(midx); + return this; + } + + /** + * Add a progress monitor to the build process + * <p> + * Give visibility over the first iteration of the packs calculating the + * data needed for midx headers (unique object count, if large offsets + * are needed...) + * + * @param pm + * a progress monitor + * @return this builder + */ + public Builder setProgressMonitor(ProgressMonitor pm) { + this.pm = pm; + return this; + } + + /** + * Build the merger instance + * + * @return a merger instance + */ + public PackIndexMerger build() { + return new PackIndexMerger( + MidxIterators.dedup(MidxIterators.join(packIndexes)), pm); + } + } + + /** + * Create a builder + * + * @return an empty builder + */ + public static Builder builder() { + return new Builder(); + } + + /** + * A common view of the input pack indexes + * + * @param midxIterator + * MidxIterator built by deduping union of all pack indexes + * @param pm + * a progress monitor + */ + private PackIndexMerger(MidxIterator midxIterator, ProgressMonitor pm) { + this.midxIterator = midxIterator; + this.packnames = midxIterator.getPackNames(); + + objectsPerPack = new int[packnames.size()]; + pm.beginTask("Iterating objects for midx headers", + ProgressMonitor.UNKNOWN); + // Iterate for duplicates and counts that we need to build the chunk + // headers. int objectCount = 0; boolean hasLargeOffsets = false; int over31bits = 0; MutableObjectId lastSeen = new MutableObjectId(); - MultiIndexIterator it = new MultiIndexIterator(indexes); - while (it.hasNext()) { - MidxMutableEntry entry = it.next(); - if (lastSeen.equals(entry.oid)) { - continue; - } + while (midxIterator.hasNext()) { + MutableEntry entry = midxIterator.next(); // If there is at least one offset value larger than 2^32-1, then // the large offset chunk must exist, and offsets larger than // 2^31-1 must be stored in it instead - if (entry.offset > LIMIT_32_BITS) { + if (entry.getOffset() > LIMIT_32_BITS) { hasLargeOffsets = true; } - if (entry.offset > LIMIT_31_BITS) { + if (entry.getOffset() > LIMIT_31_BITS) { over31bits++; } lastSeen.fromObjectId(entry.oid); objectCount++; - objectsPerPack[entry.packId]++; + // TODO(ifrade): we can calculate the fanout table already here. + // It saves an iteration over all objects for only 1Kb of memory + objectsPerPack[entry.getPackId()]++; + pm.update(1); } uniqueObjectCount = objectCount; offsetsOver31BitsCount = over31bits; needsLargeOffsetsChunk = hasLargeOffsets; + pm.endTask(); } /** @@ -142,7 +176,7 @@ private void fill(int packId, PackIndex.MutableEntry other) { * * @return object count of the merged index */ - int getUniqueObjectCount() { + public int getUniqueObjectCount() { return uniqueObjectCount; } @@ -168,7 +202,7 @@ int getOffsetsOver31BitsCount() { } /** - * Number of objects selected for the midx per packid + * Number of objects selected for the midx per pack id * * @return array where position n contains the amount of objects selected * for pack id n @@ -187,7 +221,7 @@ int getOffsetsOver31BitsCount() { * @return List of pack names, in the order used by the merge. */ List<String> getPackNames() { - return packNames; + return packnames; } /** @@ -196,160 +230,22 @@ List<String> getPackNames() { * @return count of packs merged */ int getPackCount() { - return packNames.size(); + return packnames.size(); } /** * Iterator over the merged indexes in sha1 order without duplicates * <p> + * This always returns the same iterator resetted. We don't support two + * iterators over this merged data. + * <p> * The returned entry in the iterator is mutable, callers should NOT keep a * reference to it. * * @return an iterator in sha1 order without duplicates. */ - Iterator<MidxMutableEntry> bySha1Iterator() { - return new DedupMultiIndexIterator(new MultiIndexIterator(indexes), - getUniqueObjectCount()); - } - - /** - * For testing. Iterate all entries, not skipping duplicates (stable order) - * - * @return an iterator of all objects in sha1 order, including duplicates. - */ - Iterator<MidxMutableEntry> rawIterator() { - return new MultiIndexIterator(indexes); - } - - /** - * Iterator over n-indexes in ObjectId order. - * <p> - * It returns duplicates if the same object id is in different indexes. Wrap - * it with {@link DedupMultiIndexIterator (Iterator, int)} to avoid - * duplicates. - */ - private static final class MultiIndexIterator - implements Iterator<MidxMutableEntry> { - - private final List<PackIndexPeekIterator> indexIterators; - - private final MidxMutableEntry mutableEntry = new MidxMutableEntry(); - - MultiIndexIterator(List<PackIndex> indexes) { - this.indexIterators = new ArrayList<>(indexes.size()); - for (int i = 0; i < indexes.size(); i++) { - PackIndexPeekIterator it = new PackIndexPeekIterator(i, - indexes.get(i)); - // Position in the first element - if (it.next() != null) { - indexIterators.add(it); - } - } - } - - @Override - public boolean hasNext() { - return !indexIterators.isEmpty(); - } - - @Override - public MidxMutableEntry next() { - PackIndexPeekIterator winner = null; - for (int index = 0; index < indexIterators.size(); index++) { - PackIndexPeekIterator current = indexIterators.get(index); - if (winner == null - || current.peek().compareBySha1To(winner.peek()) < 0) { - winner = current; - } - } - - if (winner == null) { - throw new NoSuchElementException(); - } - - mutableEntry.fill(winner.getPackId(), winner.peek()); - if (winner.next() == null) { - indexIterators.remove(winner); - } - return mutableEntry; - } - } - - private static class DedupMultiIndexIterator - implements Iterator<MidxMutableEntry> { - private final MultiIndexIterator src; - - private int remaining; - - private final MutableObjectId lastOid = new MutableObjectId(); - - DedupMultiIndexIterator(MultiIndexIterator src, int totalCount) { - this.src = src; - this.remaining = totalCount; - } - - @Override - public boolean hasNext() { - return remaining > 0; - } - - @Override - public MidxMutableEntry next() { - MidxMutableEntry next = src.next(); - while (next != null && lastOid.equals(next.oid)) { - next = src.next(); - } - - if (next == null) { - throw new NoSuchElementException(); - } - - lastOid.fromObjectId(next.oid); - remaining--; - return next; - } - } - - /** - * Convenience around the PackIndex iterator to read the current value - * multiple times without consuming it. - * <p> - * This is used to merge indexes in the multipack index, where we need to - * compare the current value between indexes multiple times to find the - * next. - * <p> - * We could also implement this keeping the position (int) and - * MutableEntry#getObjectId, but that would create an ObjectId per entry. - * This implementation reuses the MutableEntry and avoid instantiations. - */ - // Visible for testing - static class PackIndexPeekIterator { - private final Iterator<PackIndex.MutableEntry> it; - - private final int packId; - - PackIndex.MutableEntry current; - - PackIndexPeekIterator(int packId, PackIndex index) { - it = index.iterator(); - this.packId = packId; - } - - PackIndex.MutableEntry next() { - if (it.hasNext()) { - current = it.next(); - } else { - current = null; - } - return current; - } - - PackIndex.MutableEntry peek() { - return current; - } - - int getPackId() { - return packId; - } + public MidxIterator bySha1Iterator() { + midxIterator.reset(); + return midxIterator; } }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/CommitConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/CommitConfig.java index b1ba5df..ae5b214 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/CommitConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/CommitConfig.java
@@ -97,11 +97,11 @@ public boolean matchConfigValue(String in) { private final static Charset DEFAULT_COMMIT_MESSAGE_ENCODING = StandardCharsets.UTF_8; - private String i18nCommitEncoding; + private final String i18nCommitEncoding; - private String commitTemplatePath; + private final String commitTemplatePath; - private CleanupMode cleanupMode; + private final CleanupMode cleanupMode; private char commentCharacter = '#';
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeConfig.java b/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeConfig.java index 54b7aa4..680e3e4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeConfig.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/merge/MergeConfig.java
@@ -9,8 +9,13 @@ *******************************************************************************/ package org.eclipse.jgit.merge; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; + import java.io.IOException; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.api.MergeCommand.FastForwardMode; import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Config.SectionParser; @@ -60,6 +65,8 @@ public static final SectionParser<MergeConfig> getParser( private final FastForwardMode fastForwardMode; + private final ConflictStyle conflictStyle; + private final boolean squash; private final boolean commit; @@ -67,12 +74,14 @@ public static final SectionParser<MergeConfig> getParser( private MergeConfig(String branch, Config config) { String[] mergeOptions = getMergeOptions(branch, config); fastForwardMode = getFastForwardMode(config, mergeOptions); + conflictStyle = getConflictStyle(config); squash = isMergeConfigOptionSet("--squash", mergeOptions); //$NON-NLS-1$ commit = !isMergeConfigOptionSet("--no-commit", mergeOptions); //$NON-NLS-1$ } private MergeConfig() { fastForwardMode = FastForwardMode.FF; + conflictStyle = ConflictStyle.MERGE; squash = false; commit = true; } @@ -87,6 +96,16 @@ public FastForwardMode getFastForwardMode() { } /** + * Get the configured conflict style + * + * @return the configured conflict style + * @since 7.6 + */ + public ConflictStyle getConflictStyle() { + return conflictStyle; + } + + /** * Whether merges into this branch are configured to be squash merges, false * otherwise * @@ -120,6 +139,11 @@ private static FastForwardMode getFastForwardMode(Config config, return ffmode; } + private ConflictStyle getConflictStyle(Config config) { + return config.getEnum(CONFIG_MERGE_SECTION, null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + private static boolean isMergeConfigOptionSet(String optionToLookFor, String[] mergeOptions) { for (String option : mergeOptions) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java index dc96f65..cb82577 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java
@@ -16,9 +16,12 @@ import static java.nio.charset.StandardCharsets.UTF_8; import static java.time.Instant.EPOCH; +import static org.eclipse.jgit.api.MergeCommand.ConflictStyle.MERGE; import static org.eclipse.jgit.diff.DiffAlgorithm.SupportedAlgorithm.HISTOGRAM; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_DIFF_SECTION; import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_ALGORITHM; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_KEY_CONFLICTSTYLE; +import static org.eclipse.jgit.lib.ConfigConstants.CONFIG_MERGE_SECTION; import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; import java.io.Closeable; @@ -39,6 +42,7 @@ import org.eclipse.jgit.annotations.NonNull; import org.eclipse.jgit.annotations.Nullable; +import org.eclipse.jgit.api.MergeCommand.ConflictStyle; import org.eclipse.jgit.attributes.Attribute; import org.eclipse.jgit.attributes.Attributes; import org.eclipse.jgit.attributes.AttributesNodeProvider; @@ -831,6 +835,8 @@ public enum MergeFailureReason { */ protected MergeAlgorithm mergeAlgorithm; + private ConflictStyle conflictStyle; + /** * The {@link ContentMergeStrategy} to use for "resolve" and "recursive" * merges. @@ -870,6 +876,7 @@ protected ResolveMerger(Repository local, boolean inCore) { super(local); Config config = local.getConfig(); mergeAlgorithm = getMergeAlgorithm(config); + conflictStyle = getConflictStyle(config); commitNames = defaultCommitNames(); this.inCore = inCore; } @@ -896,6 +903,7 @@ protected ResolveMerger(Repository local) { protected ResolveMerger(ObjectInserter inserter, Config config) { super(inserter); mergeAlgorithm = getMergeAlgorithm(config); + conflictStyle = getConflictStyle(config); commitNames = defaultCommitNames(); inCore = true; } @@ -923,6 +931,23 @@ public void setContentMergeStrategy(ContentMergeStrategy strategy) { : strategy; } + /** + * Sets the conflict style to be used when formatting merge conflicts. + * + * @param conflictStyle + * a {@link org.eclipse.jgit.api.MergeCommand.ConflictStyle} + * @since 7.6 + */ + public void setConflictStyle(ConflictStyle conflictStyle) { + this.conflictStyle = conflictStyle; + } + + private ConflictStyle getConflictStyle(Config config) { + return config.getEnum(CONFIG_MERGE_SECTION, + null, + CONFIG_KEY_CONFLICTSTYLE, MERGE); + } + @Override protected boolean mergeImpl() throws IOException { return mergeTrees(mergeBase(), sourceTrees[0], sourceTrees[1], @@ -1668,8 +1693,16 @@ private TemporaryBuffer doMerge(MergeResult<RawText> result) db != null ? nonNullRepo().getDirectory() : null, workTreeUpdater.getInCoreFileSizeLimit()); boolean success = false; try { - new MergeFormatter().formatMerge(buf, result, - Arrays.asList(commitNames), UTF_8); + switch (conflictStyle) { + case MERGE: + new MergeFormatter().formatMerge(buf, result, + Arrays.asList(commitNames), UTF_8); + break; + case DIFF3: + new MergeFormatter().formatMergeDiff3(buf, result, + Arrays.asList(commitNames), UTF_8); + break; + } buf.close(); success = true; } finally {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java index ba7573a..8e604ba 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/RevWalk.java
@@ -623,7 +623,7 @@ private Set<RevCommit> getCommitsMergedInto(RevCommit needle, Collection<RevComm markStart(c); boolean commitFound = false; RevCommit next; - while ((next = next()) != null) { + while ((next = next()) != null && !monitor.isCancelled()) { if (next.getGeneration() < cutoff) { markUninteresting(next); uninteresting.add(next);
diff --git a/pom.xml b/pom.xml index 8980605..8e00d87 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>7.6.0-SNAPSHOT</version> + <version>7.7.0-SNAPSHOT</version> <name>JGit - Parent</name> <url>${jgit-url}</url> @@ -118,7 +118,7 @@ <project.build.outputTimestamp>${commit.time.iso}</project.build.outputTimestamp> - <jgit-last-release-version>7.5.0.202512021534-r</jgit-last-release-version> + <jgit-last-release-version>7.6.0.202603022253-r</jgit-last-release-version> <ant-version>1.10.15</ant-version> <apache-sshd-version>2.17.1</apache-sshd-version> <jsch-version>0.1.55</jsch-version> @@ -130,7 +130,7 @@ <commons-compress-version>1.28.0</commons-compress-version> <osgi-core-version>6.0.0</osgi-core-version> <servlet-api-version>4.0.1</servlet-api-version> - <jetty-version>12.1.5</jetty-version> + <jetty-version>12.1.6</jetty-version> <japicmp-version>0.25.0</japicmp-version> <httpclient-version>4.5.14</httpclient-version> <httpcore-version>4.4.16</httpcore-version> @@ -148,7 +148,7 @@ <hamcrest-version>3.0</hamcrest-version> <assertj-version>3.27.7</assertj-version> <jna-version>5.18.1</jna-version> - <byte-buddy-version>1.18.4</byte-buddy-version> + <byte-buddy-version>1.18.5</byte-buddy-version> <!-- Properties to enable jacoco code coverage analysis --> <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> @@ -899,7 +899,7 @@ <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> - <version>1.20.0</version> + <version>1.21.0</version> </dependency> <dependency> @@ -970,6 +970,12 @@ </dependency> <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>${slf4j-version}</version> + </dependency> + + <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson-version}</version>
diff --git a/tools/maven-central/README.md b/tools/maven-central/README.md index d4533d9..0c40598 100644 --- a/tools/maven-central/README.md +++ b/tools/maven-central/README.md
@@ -87,7 +87,7 @@ - update the version in its `pom.xml` to the new JGit release you staged - delete all jgit artifacts from your local m2 repository ``` - $ rm -r ~/.m2/org/eclipse/jgit + $ rm -r ~/.m2/repository/org/eclipse/jgit ``` - build the jgit-built-test maven project to test if all artifacts of the new release can be downloaded and used in a build
diff --git a/tools/maven-central/download_release.py b/tools/maven-central/download_release.py index 4ce44bc..fa24b2f 100755 --- a/tools/maven-central/download_release.py +++ b/tools/maven-central/download_release.py
@@ -10,7 +10,7 @@ from functools import partial -BASE_REPO_URL = "https://repo.eclipse.org/content/groups/releases" +BASE_REPO_URL = "https://repo.eclipse.org/content/repositories/releases" JGIT_GROUP_ID = "org.eclipse.jgit" JGIT_PARENT_ARTIFACT_ID = "org.eclipse.jgit-parent" DOWNLOAD_DIR = "staging-deploy"