Eclipse JGit: Java implementation of Git 5.4.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

5.4.0

Description

Features

  • 547332 Determine hard-linking and nlink support per FileStore
  • 488572 Support reading and writing cookies. The git config entries http.cookieFile and http.saveCookies are now supported.
  • Repository: Add getIdentifier() method
  • cli: Add the --always option to describe
  • DescribeCommand: Support the "always" option
  • cli: Add the --tags option to describe
  • RevWalk: new method createReachabilityChecker()
  • BitmapCalculator: Get the reachability bitmap of a commit
  • ReachabilityChecker: Default implementation with a RevWalk
  • CLI diff: Add "--staged" as alias to "--cached"
  • Repository: Add getIdentifier() method to avoid instanceof operator
  • Extend FileSnapshot for packfiles to also use checksum to detect changes
  • Optionally wait opening new packfile until it can't be racy anymore. If pack.waitPreventRacyPack = true (default is false) and packfile size > pack.minSizePreventRacyPack (default is 100 MB) wait after a new packfile was written and before it is opened until it cannot be racy anymore.
  • Include filekey file attribute (inode on *nix filesystems) when comparing FileSnapshots
  • Measure file timestamp resolution used in FileSnapshot
  •   

Performance Improvements

  • BitmappedReachabilityChecker: Reachability check using bitmaps
  • tree:<depth>: do not revisit tree during packing
  • tree:<depth> should not traverse overly-deep trees
  • Preliminary support for tree:<depth> filter
  • Introduce RefDatabase#getTipsWithSha1 to list refs pointing to object

Logging

  • Attach deletion failure reason in FileUtils.delete()
  • Track object inflation time in DfsReaderIoStats

Bug Fixes

  • 547724 Handle missing "ours" stage in WorkingTreeIterator.hasCrLfInIndex()
  • 529522 Retry loading config when locked by another process
  • 544965 Make pull --rebase on an unborn branch do a checkout
  • 548081 Warn if configured cookie file is missing
  • 545850 Handle escaped CR-LF in git config files
  • 546703 DescribeCommand: use glob match instead of path match
  • 546245 Fix off-by-one error in RebaseTodoFile when reading a todo file
  • 547332 Determine hard-linking and nlink support per FileStore
  • 546891 Fix performance degradation introduced with bug fix for 546190
  • FS_POSIX: Fix reference comparison of Boolean.FALSE
  • Fix FileSnapshot's consideration of file size
  • ObjectDirectory: fix closing of obsolete packs
  • SystemReader: Respect passed-in parent when no system config is present
  • GPG: check that the key found is a signing key
  • 545673 GPG: use key fingerprint suffix to compare id for signing key
  • 545673 Ignore invalid files in '.gnupg/private-keys-v1.d'
  • Process unshallow commits first to fix errors in unshallow git-fetch
  • DfsRefDatabase: Keep update index when peeling a reference

Build and Release Engineering

  • 547570 Update to Orbit R20190602212107
  • Dependencies
    • 541425 Upgrade and adapt to Apache MINA sshd client 2.2.0
    • Upgrade Bouncy Castle to 1.61
    • 546130 Upgrade JSch to 0.1.55
  • Maven
    • Upgrade jacoco-maven-plugin to 0.8.4
    • Upgrade maven-compiler-plugin to 3.8.1
    • Upgrade maven-jar-plugin to 3.1.2
    • Upgrade maven-pmd-plugin to 3.12.0
    • Upgrade maven-source-plugin to 3.1.0
    • Upgrade maven surefire plugins version to 2.22.2
    • Upgrade ecj to 3.17.0
    • Upgrade spotbugs to 3.1.12
    • Upgrade Tycho to 1.4.0
  • Bazel
    • Bump minimum Bazel version to 0.26.1
    • Bazel: Bump skylib library version to 0.8.0
    • Increase bazel timeout for long running tests
    • Use bazelisk to switch between used bazel version
    • Add bazel options to align with those used in Gerrit
    • Enable error-prone checks by default
    • Increase severity of most error-prone checks to ERROR
    • ErrorProne: Increase severity of OperatorPrecedence to ERROR
    • ErrorProne: Increase severity of FutureReturnValueIgnored to ERROR
    • Add missing source bundles and add them to a single source feature
  • 545906 Fix dependencies between features
  • Introduce a checkNotNull helper
  • Enhance fsTick() to use filesystem timer resolution
  • Add debug trace to measure time needed to open pack index
  • Tune max heap size for tests
Conforms To UI/UX Guidelines
Not verified
This release is part of Eclipse IDE 2019-06