Eclipse JGit: Java implementation of Git 4.7.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, March 29, 2017
Release: 

4.7.0

Description: 

JGit Features

  • FetchCommand: Add basic support for recursing into submodules
  • Prepare JGit against SHA1 collisions
    • SHA-1: collision detection support
    • SHA1: support reset() and reuse instances
    • Switch to pure Java SHA1 for ObjectId
    • Pure Java SHA-1
  • PullCommand: Allow to set tag behavior
  • PullCommand: Add support for recursing into submodules
  • Set commit time in ZipArchiveEntry
  • Limit receive commands
  • Follow redirects in transport
  • Normalizer creating a valid branch name from a string
  • Pack refs/tags/ with refs/heads/
  • push: support per-ref force-with-lease
  • Only mark packfile invalid if exception signals permanent problem
  • Don't flag a packfile invalid if opening existing file failed. Opening a file can fail temporarily if ulimit for open file handles is exceeded.

Garbage Collection

  • GC: don't loosen doomed objects
  • Prefer smaller GC files during DFS garbage collection
  • Fix missing deltas near type boundaries
  • Reintroduce garbage pack coalescing when ttl > 0.
  • GC: delete empty directories after purging loose objects
  • Make GC cancellable when called programmatically
  • GC.prune(Set<ObjectId>): return early if objects directory is empty
  • Clean up orphan files in GC
  • GC: loosen unreferenced objects
  • GC: Add options to preserve and prune old pack files

LFS Support

  • LfsProtocolServlet: Pass HTTP Authorization header to getLargeFileRepository
  • LfsProtocolServlet#LfsRequest: Add operation type helper methods
  • Expose LFS operation strings as public constants
  • LfsProtocolServlet: Improve error on getLargeFileRepository failure
  • Add support for refusing LFS request due to invalid authorization
  • Add LfsPointerFilter TreeFilter

Build and Release Engineering

  • Upgrade error_prone_core to 2.0.18
  • Update Jetty to 9.3.17.v20170317
  • Update com.jcraft.jsch to 0.1.54
  • Update build to use Tycho 1.0.0
  • Fix hamcrest dependency in org.eclipse.jgit.ant.test
  • Update Maven plugins
  • Update Orbit to S20170306214312
  • Implement Bazel build
  • Remove buck build