Eclipse JGit: Java implementation of Git 5.4.0

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
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2019-06