Eclipse JGit: Java implementation of Git 5.7.0

Features

  • Update reftable storage repo layout. The change c217d33, "Documentation/technical/reftable: improve repo layout" defines a new repository layout, which was agreed with the git-core mailing list. It addresses the following problems:
    • old git clients will not recognize reftable-based repositories, and look at encompassing directories.
    •  Poorly written tools might write directly into .git/refs/heads/BRANCH.
    •  Since we consider JGit reftable as experimental (git-core doesn't support it yet), we have no backward compatibility. If you created a repository with reftable between mid-Nov 2019 and now, you can do the following to convert:
      • mv .git/refs .git/reftable/tables.list

        git config core.repositoryformatversion 1

        git config extensions.refStorage reftable
  • Documentation/technical/reftable: improve repo layout. Previously, the list of tables was in .git/refs. This makes    repo detection fail in older clients, which is undesirable. This is proposal was discussed and approved on the git@vger list at https://lore.kernel.org/git/CAFQ2z_PvKiz==GyS6J1H1uG0FRPL86JvDj+LjX1We4-yCSVQ+g@mail.gmail.com. For backward compatibility, JGit could detect a file under .git/refs and use it as a reftable list.
  • 559526 Make the IMatcher public API
  • ReceivePack: enable overriding filterCommands and executeCommands
  • 558709 TLS support on IBM JDKs
  • pgm: add option if reflogs should be written when converting to reftable
  • pgm: add option to configure if convert-ref-storage should create backup
  • Set config "extensions" option when converting ref storage format between refdirectory and reftable
  • transport: enable custom error handling
  • GitSmartHttpTools: Do not use sideband when sending an error but use an error packet always

Performance improvements

  • 560527 Expose FileStoreAttributes.setBackground()
  • 560414 Revert "Prepend hostname to subsection used to store file timestamp resolution"
  • AmazonS3: Speed up fetch, try recent packs first
  • Using StringBuilder in StringUtils#capitalize method

Bug Fixes

  • 558577 Cygwin expects forward slashes for commands to be run via sh.exe
  • ObjectWalk: Add null check before skip tree.
  • JSch ssh client: do not fail if known hosts file does not contain valid host key
  • 551690 FS: Don't use innocuous threads for CompletableFuture
  • Fix SshSessionFactory#setInstance to use service loader
  • 553625 Use ServiceLoader to define the default SSH session factory.
  • UploadPackServlet: Use uploadWithExceptionPropagation

Build and release engineering

  • Bump Bazel version to 2.2.0
  • Update bazlets and bazel version
  • Add 4.14 and 4.15-staging target platforms
  • Update Orbit to R20200224183213 for 2020-03
  • Remove use of org.bouncycastle.util.encoders.Hex
  • 559106 Remove use of org.bouncycastle.util.io.TeeOutputStream
  • 559735 Include org.apache.commons.codec 1.13 in the JGit http.apache.feature
  • Upgrade plexus-compiler-{eclipse|javac|javac-errorprone} to 2.8.6
  • Upgrade maven-shade-plugin to 3.2.2
  • Upgrade maven-pmd-plugin to 3.13.0
  • Update maven-surefire-plugin to 3.0.0-M4
  • Update japicmp-maven-plugin to 0.14.3
  • Update org.junit to 4.13.0.v20200126-2018
  • Replace ExpectedException which was deprecated in junit 4.13
  • Replace deprecated junit assertion methods with hamcrest
  • Add org.assertj 3.14.0.v20200120-1926 to target platform
  • Update to Tycho 1.6.0
  • Update javaewah to 1.1.7.v20200107-0831
  • Update org.apache.commons.codec to 1.13.0.v20200108-0001
  • Update org.apache.commons.compress to 1.19.0.v20200106-2343
  • Update org.apache.httpcomponents.httpclient to 4.5.10.v20200114-1512
  • Update org.apache.httpcomponents.httpcore to 4.4.12.v20200108-1212
  • Upgrade jetty to 9.4.25.v20191220
  • Update spring-boot-maven-plugin to 2.1.5.RELEASE
  • Upgrade maven-source-plugin to 3.2.1
  • Upgrade ecj to 3.20.0
  • Upgrade error_prone_core to 2.3.4
  • ErrorProne: Enable and fix UnusedException check
  • Add resource preferences for top level jgit project
  • ReceivePack: Move connectivity check to separate class
  • [releng] Update year in copyright notices for features
  • 548298 Update EDL 1.0 license headers to new short SPDX compliant format

     
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2020-03