Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse Technology
  4. Eclipse JGit™: Java...
  5. 5.6.0
  6. 5.6.0 Release Review

Eclipse JGit™: Java implementation of Git 5.6.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.

Wednesday, December 18, 2019
Project: 
Eclipse JGit™: Java implementation of Git
Release: 

5.6.0

Description: 

Features

Reftable

  • Implement FileReftableDatabase
    Reftable is a binary, block-based storage format for the ref-database. It provides several advantages over the traditional packed + loose refs storage
    Storage format:
    • O(1) write performance, even for deletions and transactions.
    • atomic updates to the ref database.
    • O(log N) lookup and prefix scans
    • free from restrictions imposed by the file system: it is case-sensitive even on case-insensitive file systems, and has no inherent limitations for directory/file conflicts
  • prefix compression reduces space usage for repetitive ref names, such as gerrit's refs/changes/xx/xxxxx format.
  • FileReftableDatabase is based on FileReftableStack, which does compactions inline. This is simple, and has good median performance, but every so often it will rewrite the entire ref database.
  • Add FileRepository#convertToReftable so existing testdata can be reused.
  • pgm: add write stats to BenchmarkReftable
  • pgm: add command to convert repo to reftable
  • reftable: enforce ascending order in sortAndWriteRefs
  • Documentation/technical/reftable: document rename in reflog
  • Introduce RefDatabase#hasFastTipsWithSha1

Other Features

  • 553471 Add ability to redirect stderr from git hooks
  • 553469 Add possibility to get pure stderr output from AbortedByHookException
  • 500266 Support for core.hooksPath
  • JGit pgm: Add support for excluding paths from Git log command
  • JGit pgm: Format blame output to match canonical git
  • 552173 pgm: Add --mirror option to clone command
  • 552173 Implement mirror option in CloneCommand
  • RepositoryCache: don't require HEAD in git repositories using reftable
  • 552467 DiffFormatter: support core.quotePath = false
  • 550878 IndexDiff/SubmoduleWalk: make the RepositoryBuilder configurable
  • transport: Merge BaseReceivePack into ReceivePack
  • 551850 Store filesystem timestamp resolution in extra jgit config $XDG_CONFIG_HOME/jgit/config
  • 550335 GPG: implement more OpenPGP UserId matching formats
  • ProtocolV2Parser: Introduce advertise sideband-all option
  • PackWriter/Statistics: Report offloaded size
  • CachedPackUriProvider: Add size to the pack information
  • http: Allow specifying a custom error handler for UploadPack
  • UploadPack: Introduce ErrorWriter
  • 549832 Apache HTTP: support proxy authentication
  • DfsCachedPack: Add accessor for packfile object
  • dfs: Take size as long instead of int in the DfsBlockCache

Performance and memory consumption improvements

  • BitmappedReachabilityChecker: Use only one bitmap for the whole check
  • checkNotAdvertisedWants: Be lazy converting Ref to RevCommit to reduce the latency for reachability checks over big sets of references
  • UploadPack: Prioritize references for non-advertised wants checks

Bug Fixes

  • 434330 Make blame work correctly on merge conflicts
  • [spotbugs] Fix potential NPE in FSTest
  • UploadPackTest: Fix unused parameter in checkUnadvertisedIfUnallowed
  • TopoSortGenerator: simplify first-parent handling
  • 552160 RewriteGenerator: avoid adding null parent to avoid NPE
  • 521613 IndexDiff/SubmoduleWalk: handle submodule.<name>.ignore correctly
  • BaseReceivePack: Add hasReceivedPack method to enable avoiding IllegalStateException if getPackSize is called when the pack size is not set
  • 551850 Prepend hostname to config subsection used to store file timestamp resolution
  • 552636 WorkingTreeModifiedEvent: must be fired explicitly after merge
  • 549690 HttpSupport.proxyFor(): use only scheme, host, and port
  • 552288 GpgKeyLocator: Return a signing key for a user instead of the master key
  • 552288 GpgKeyLocator: Return subkeys instead of the first key for subkeys
  • AppServer: Stop using deprecated SslContextFactory constructor
  • IndexDiff: close SubmoduleWalk and use already loaded DirCache
  • CachedPackUriProvider: size should be a long (not an int)
  • 551664 Fix parsing of core.logAllRefUpdates
  • Fix NPE in DfsPackCompactor.compactReftables
  • Fire WorkingTreeModifiedEvent if cherry-pick failed with conflicts
  • Remove an old work-around for core.autocrlf = input
  • ReceivePack: Prevent pointing a branch to a non-commit object

Build and Release Engineering

  • Update bouncycastle version to 1.64
  • Upgrade Jetty to 9.4.22.v20191022
  • Use Java 8 source and target in Maven
  • Update Orbit to R20191126223242 for 2019-12
  • Upgrade maven-enforcer-plugin to 3.0.0-M3
  • Upgrade maven-jar-plugin to 3.2.0
  • Upgrade maven-source-plugin to 3.2.0
  • Upgrade jacoco-maven-plugin to 0.8.5
  • Upgrade ecj plugin to 3.19.0
  • Upgrade eclipse-jarsigner-plugin to 1.1.7
  • Upgrade wagon-ssh to 3.3.4
  • Update Tycho to 1.5.1
  • Require Maven version 3.6.2
  • Bazel: Bump bazel version to 1.0.0
  • Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl
  • Bazel: Reuse version from .bazelversion for minimum used version check
  • Move KetchSystem.delay to FileUtils.
  • Fix benchmark pom.xml to include distribution managment config
  • Run JMH benchmarks using bazel
  • Benchmark for creating files and FileSnapshots
  • Implement benchmark for looking up FileStore of a given Path
  • JMH benchmark for SimpleLruCache
  • Create 4.14 staging target platform
  • Rename servlet-api-3_1 to match Gerrit master
  • Update Eclipse SUA to latest 2.0 version
     
Conforms To UI/UX Guidelines: 
Not verified
This release is part of Eclipse IDE 2019-12.
  • Sign in to post comments.
Eclipse JGit™: Java implementation of Git

Project Links

  • Website

Related Projects

Related Projects:

  • Eclipse Technology
    • Eclipse EGit™: Git Integration for Eclipse

Project Hierarchy:

  • Eclipse Technology
  • Eclipse JGit™: Java implementation of Git

Tags

Technology Types
  • OSGi
  • Tools
Build Technologies
  • Jenkins
  • Maven
  • Tycho

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top