Eclipse JGit: Java implementation of Git 4.8.0


  • Allow DfsReader to be subclassed
  • Track read IO statistics for DfsReader
  • Support pulling remote branches to apply them on detached HEAD (Bug 485396). 
  • Reset ObjectWalker when it starts a new walk
  • Clone: add --recurse-submodules option
  • Add parseCommit(AnyObjectId) method to Repository.
  • RepoCommand: Add linkfile support.
  • BundleWriter: Allow constructing from only an ObjectReader
  • Support creating Mergers without a Repository using an ObjectInserter and a config that declares a diff algorithm.
  • Run auto GC in the background. Execute gc at maximum once per day if number of loose unreachable objects which didn't expire yet exceeds limit.
  • Allow to use an external ExecutorService for background auto-gc
  • Use a dedicated executor to run auto-gc in command line interface
  • Fetch: Add --recurse-submodules and --no-recurse-submodules options


  • Exclude refs/tags from bitmap commit selection to reduce the number of bitmaps created and reduce the memory pressure on the GC task.
  • Reduce fetch bandwidth cost when objects described by the client are missing on the server

Build and Release Engineering

  • Upgrade maven plugins
  • Update jetty to 9.4.5 (Bug 516514)
  • Update Orbit dependencies to the Oxygen version R20170516192513

Bug Fixes

  • Checkout should not use too long filenames (Bug 508823)
  • Clean up the disk when cloning fails (Bug 516303)
  • Add shutdown hook to cleanup unfinished clone when JVM is killed (Bug 516303)
  • Fix stack overflow in MergeBaseGenerator
  • DfsGarbageCollector: Delete expired garbage even when there is no GC pack present.
  • When looping through alternates, prevent visiting the same object directory twice.
  • Fix RepoCommand to allow for relative URLs
  • PackWriterBitmapWalker: only throw MissingObjectException when necessary 
  • Archive TarFormat: Use commit time as timestamp for entries
  • Make diff locations more consistent fixing incorrectly removed or duplicated lines in 3-way merge (Bug 514095).
  • Fix out-of-bounds exception in RepoCommand#relative
  • Fix null return from FS.readPipe when command fails to launch


Release Date
Release Type
Minor release
This release is part of Eclipse Oxygen