Eclipse JGit: Java implementation of Git 5.9.0

5.9.0

Description

Features

  • Add DfsBundleWriter which writes out the entire repository to a Git bundle file. Useful for backing up a repository as-is.
  • 565774 DirCache: support git index V4
  • Add support for tree filters when fetching

Performance Improvements:

  • 565707 FS: use binary search to determine filesystem timestamp resolution
  • Do not send empty blob in response to blob:none filter. In particular, this means we do not need to look up the size of the filtered blobs, which should speed up clones.
  • PackBitmapIndex: Do not buffer inflated bitmap during bitmap creation.

Bug Fixes

  • 565854 SshdSession: close channel gracefully
  • 564386 GPG: include signer's user ID in the signature
  • ResolveMerger: do not content-merge gitlinks on del/mod conflicts
  • ResolveMerger: choose OURS on gitlink when option ignoreConflicts is used. GITLINK merging is a special case of recursive merge because of limitations of GITLINK type of entry. It can't contain more than 1 sha-1 so jgit can't write merge conflicts in place like it can with a blob.
  • Fix possible NegativeArraySizeException in PackIndexV1
  • 565637 Do not prematurely create directory of jgit's XDG config file
  • 566170 FS: write to JGit config in a background thread
  • 566170 FS: don't cache fallback for timestamp resolution if running in background
  • 565048 Keep line endings for text files committed with CR/LF on text=auto
  • 563740 Delay WindowCache statistics JMX MBean registration
  • Fix JSchProcess.waitFor() with time-out
  • 565394 sshd: work around a race condition in Apache MINA sshd 2.4.0/2.5.x
  • 563380 sshd: store per-session data on the sshd session object
  • 564372 FS_POSIX: avoid prompt to install the XCode tools on OS X
  • 564202 Use LinkedBlockingQueue for executor determining filesystem attributes
  • 565081 DiffFormatter: correctly deal with tracked files in ignored folders
  • 564428 Fix writing GPG signatures with trailing newline
  • Improve error message when receive.maxCommandBytes is exceeded
  • LfsConnectionFactory#getLfsUrl: Fix unconditional break in for-loop
  • MergedReftable: Include the last reftable in determining minUpdateIndex

Build and Release Engineering:

  • Bump Bazel version to 3.5.0
  • [bazel] Add missing dependency to slf4j-api
  • Add jgit-4.17-staging target platform for 2020-09
  • Update target platform to R20200831200620
  • Update org.apache.commons.codec to 1.14.0.v20200818-1422
  • Update org.apache.httpcomponents.httpclient to 4.5.10.v20200830-2311
  • Update org.bouncycastle.bcpg  to 1.65.0.v20200527-1955
  • Update org.bouncycastle.bcpkix to 1.65.0.v20200527-1955
  • Update org.bouncycastle.bcprov to 1.65.1.v20200529-1514
  • Update plexus-compiler to 2.8.7
  • Update Jetty to 9.4.30.v20200611
  • Upgrade maven-resources-plugin to 3.2.0
  • Upgrade plexus-compiler version to 2.8.8
  • Upgrade maven-site-plugin to 3.9.1
  • Upgrade build-helper-maven-plugin to 3.2.0
  • Upgrade spotbugs to 4.0.4
  • Upgrade ecj to 3.22.0
  • sshd: use PropertyResolver in test to improve the SshTestGitServer API for accessing the server properties.
  • Remove dependency on JSch from SSH test framework
  • Bazel: Add workspace status command to stamp final artifact and include implementation version in jgit library.
  • Remove workaround for signing jars using Tycho plugins
  • Use https for URL of jgit website
  • Fix CI information in pom.xml
  • Use gitiles as scm url in pom.xml for browsing source code
  • Update API baseline to 5.8.0.202006091008-r
  • Handle Fragment-Host declaration when updating version

     
API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Conforms To UI/UX Guidelines
Not verified
This release is part of Eclipse IDE 2020-09