tree 754c0dfaa1f6b3199c00bc50f186229167cb89bd
parent 4e67a230612b894160aecd786388519bec17f5fe
parent 1ff3617bbcaf5c6d1a0a9d560c9ad4474f8df254
author Matthias Sohn <matthias.sohn@sap.com> 1770853452 +0100
committer Matthias Sohn <matthias.sohn@sap.com> 1770853452 +0100

Merge branch 'master' into servlet-4

* master:
  Bazel: align JGit with shared external_deps repository
  Bazel: bump rules_jvm_external to 6.10
  MultiPackIndex: Offer an iterator over the entries in the midx
  Add missing LF at the end of GarbageCollectCommandTest
  Add GarbageCollectCommand#setGcConfig
  GC: add flag to control whether gc should pack all refs
  Downgrade spring-boot-maven-plugin to 3.5.10
  pack-refs: Add sorted flag
  Bazel: enforce strict MODULE.bazel.lock synchronization
  DfsPackFileMidxSingle: No need to set ints to 0 in constructor
  MidxPackFilter: Remove debug printlns
  DfsMidxWriter: add writing bitmaps to the newly created midx
  RefAdvancer: helper to find when a branch enters a pack
  Throw IOException if API tries to use destroyed TemporaryBuffer
  Update com.google.errorprone:error_prone_type_annotations to 2.46.0
  Update Apache sshd to 2.17.1
  Prepare 7.6.0-SNAPSHOT builds
  DfsPackFileMidx: offer local objects as ObjectToPack
  JGit v7.6.0.202601262032-m2
  Update org.assertj:assertj-core to 3.27.7
  DfsPackFileMidxNPacks: getBitmapIndex tries to load midx bitmaps
  PackBitmapIndexBuilderTest: add test to the bitmap builder storage
  Update bytebuddy to 1.18.4
  Update org.objectweb.asm to 9.9.1
  PackBitmapCalculator: Move code to calculate bitmaps out of PackWriter
  DfsPackFileMidx: expose the checksum of the midx
  DfsPackFile: Use getPackIndex while loading bitmaps
  DfsMidxWriter: set file size for the midx extension
  DfsPackFileMidx*Test: Use MidxTestUtils when possible
  DfsPackFileMidx: Implement PackReverseIndex over midx
  DfsPackFileMidx: Implement PackIndex over midx
  MultiPackIndex: add the checksum to the midx
  DfsPackFileMidx: Add method to translate midx position to objectId
  MultiPackIndex: Add #getObjectAt to translate position to id
  MultiPackIndex: implement methods for the reverse index
  Update python dependencies of download_release.py
  Prepare 7.6.0-SNAPSHOT builds
  JGit v7.6.0.202601071437-m1
  Update Maven plugins
  Update compiler versions
  MultiPackIndexLoader: do not ignore the ridx chunk
  MultiPackIndexWriter: write "bitmapped packfiles" chunk
  Add target platform jgit-4.39 for 2025-03
  Switch to 4.38 release URL of release train p2 repo
  Update mockito to 5.21.0
  Fix invalid HTML closing tag in javadoc
  Document how to test new release staged on Maven Central Portal
  MidxPackFilter: Keep max one midx in the stack
  DfsPackFileMidx: Introduce single-pack midx

Change-Id: I5e6ab8ccfa74b79812f4b6d78bfd515acdd36a5a
