Eclipse JGit: Java implementation of Git 4.11.0




  • LFS: Enable LFS support for the CLI, better error handling
  • LFS: support merge/rebase/cherry-pick/diff/compare with LFS files
  • LFS: Dramatically improve checkout speed with SSH authentication
  • LFS: pre-push upload support
  • LFS: Add remote download to SmudgeFilter
  • Add ObjectIdSerializer
  • dfs: Try to avoid searching UNREACHABLE_GARBAGE during packing
  • RepoCommand: generate relative submodule URLs from absolute URLs.
  • RepoCommand: don't record new commit if tree did not change
  • RepoCommand: persist unreadable submodules in .gitmodules
  • Add negotiation statistics to PackStatistics
  • Basic submodule merge handling (bug 494551)
  • Add class to access WindowCache statistics
  • Progress reporting for checkout

Performance Improvements

  • Add a minimum negotiation feature for fetch. Limits how many "have" lines the client sends. This feature is gated behind a "fetch.useminimalnegotiation" configuration flag, which defaults to false.
  • GC: Replace Files methods with File alternatives


  • Fix DiffFormatter for diffs against working tree with autocrlf=true (bug 530106)
  • Fix processing of gitignore negations (bug 409664)
  • PathMatcher: fix handling of **/
  • Don't subclass ThreadLocal to avoid memory leak in NLS (bug 449321)
  • Set context classloader to null in WorkQueue (bug 517107)
  • Fix ssh host name handling for Jsch (bug 531118)
  • Fix that Jsch overrides the port in the URI with the one in ~/.ssh/config
  • InitCommand: Don't leave Repository open after Git is closed
  • MergedReftable to skip shadowed refs in same reftable
  • Fix CleanCommand not to throw FileNotFoundExceptions (bug 514434)
  • GC: Remove empty references folders
  • Close RevWalk in BranchTrackingStatus.of() (bug 530757)
  • Fix index blob for merges with CRLF translations (bug 499615)
  • Honor CRLF settings when writing merge results (bug 499615)
  • Minor improvements in git config file inclusions
  • Enforce DFS blockLimit is a multiple of blockSize
  • Skip broken symbolic ref in DfsReftableDatabase
  • Revert handling of ssh IdentityFile to pre-4.9 behavior (bug 529173)
  • RefDirectory#hasLooseRef: Fix stream resource leak reported by error-prone
  • Ensure DirectoryStream is closed promptly
  • Fix file handle leak in FetchCommand#fetchSubmodules (bug 526494)
  • Skip unborn branches in UploadPack
  • TransportLocal should reuse FS from source repo

Build and Release Engineering

  • Upgrade spotbugs-maven-plugin to 3.1.2
  • Update orbit to S20180302171354 (photon) and R20180206163158 (oxygen)
  • Update tycho to 1.1.0
  • Bazel: Support building with Java 9
  • Update tycho to 1.1.0
  • Upgrade gson to version 2.8.2
  • Upgrade commons-compress to 1.15
  • Upgrade error_prone_core to 2.2.0
  • Upgrade Spotbugs to 3.1.1
  • Add com.jcraft.jzlib 1.1.1 (bug 529129)


Conforms To UI/UX Guidelines
Not verified