Eclipse JGit: Java implementation of Git 5.10.0

Features

  • Add constants for parsing git wire protocol version
  • 514052 Add support for reading symrefs from pack capabilities
  • 568038 Allow to resolve a conflict by checking out a file
  • Implement git describe --all
  • Override config http.userAgent from environment GIT_HTTP_USER_AGENT
  • 541500 Support "http.userAgent" and "http.extraHeader" from the git config
  • sshd: support the ProxyJump ssh config. This is useful to access git repositories behind a bastion server (jump host).

Monitoring & Logging

  • Add new performance logging to register events of type duration. The proposed logging is similar to the performance logging in Gerrit: a global Singleton is collecting the performance logs in a thread-safe events list, and at the end of the monitored command the list of events is retrieved and written to a log, after which it is cleared.
  • Measure time taken for reachability checks
  • Measure time taken for negotiation in protocol V2
  • 567309 Add TypedConfigGetter.getPath(). This enables EGit to override with a lenient variant that logs the problem and continues with the default value.
  • ReceivePackStats: Add size and count of unnecessary pushed objects
  • GC#deleteOrphans: log warning for deleted orphaned files

Bug fixes

  • 569349 Fix PackInvalidException when fetch and repack run concurrently
  • Gerrit 13544 Ensure that GC#deleteOrphans respects pack lock
  • GC#deleteOrphans: handle failure to list files in pack directory
  • Ensure GC.deleteOrphans() can delete read-only orphaned files on Windows
  • 568950 PacketLineIn: ensure that END != DELIM
  • Fix NPE in PerformanceLogContext
  • Fix IOException occurring during gc
  • Close Repository to fix tests failing on Windows
  • 565776 Ensure .gitmodules is loaded when accessing submodule name
  • sshd: better error report when user cancels authentication
  • 566799 IndexDiffFilter: handle path prefixes correctly

Documentation

  • Document options in core section supported by JGit

Build & Release Engineering

  • 514326, 566475 Don't install 3rd party dependency bundles via features. Instead provide them only in the p2 repository.
  • Upgrade maven-pmd-plugin to 3.14.0
  • Update Orbit to R20201130205003 for 2020-12
  • Ignore missing javadoc tags in test bundles
  • Bazel: Allow to build and run the tests with JDK 15
  • Update slf4j to 1.7.30
  • Upgrade spotbugs-maven-plugin to 4.1.3
  • Fix OperatorPrecedence warning flagged by error prone
  • UploadPackTest#testUploadRedundantBytes: ensure test repo is closed
  • Upgrade ecj to 3.23.0
  • Upgrade jacoco-maven-plugin to 0.8.6
  • Upgrade maven-project-info-reports-plugin to 3.1.1
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2020-12