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

Release

5.3.0

Description

Features

  • Expose the filter blob limit in UploadPack
  • 542611 Enable cloning only specific tags
  • 543152 SshdSessionFactory: generalize providing default keys
  • 543579 Allow to check for signing key
  • 382212 Implement signing commits using BouncyCastle
  • 382212 Add signing options to commit CLI
  • 382212 Allow CommitCommand to sign commits
  • RefDatabase/Ref: Add versioning to reference database

Performance Improvements

  • 543739 Reduce contention on PackFile.idx() function.
  • UploadPack: Read wanted refs in one shot
  • Lazily open ReadableChannel in BlockBasedFile.getOrLoadBlock
  • Lock DfsBlockCache while loading object references to avoid concurrent index loading
  • RefDirectory: Look up several exact refs in one shot

Bug Fixes

  • 544199 Fix corruption of packfile list due to concurrent access during GC
  • 543739 Reduce contention on accessing packfile index
  • 544982 Avoid NPE in ObjectId.isId()
  • Fix error log message in ObjectDirectory.handlePackError()
  • Properly format pack checksums in PackFile.idx()
  • Cancel gc if thread was interrupted
  • PackFile: report correct message for checksum mismatch error
  • ObjectDirectory: Clean up logging
  • ObjectDirectory: extra logging on packfile exceptions
  • 544735 CLI diff command: add option metaVar for --src-prefix and --dst-prefix
  • ResolveMerger: Destroy TemporaryBuffer on unchecked exceptions
  • 544797 On Windows use %APPDATA%\gnupg as GPG directory if it exists
  • 511487 RebaseCommand: tighten check for --preserve-merges on --continue
  • 511487 RebaseCommand: fix ONTO_NAME, and --preserve-merges is interactive
  • 511487 RebaseCommand: use orig-head to abort
  • 511487 RebaseCommand: use orig-head in addition to head
  • 470643 Fix core.autocrlf for non-normalized index
  • Strongly reference indices in DfsPackFile
  • 544513 Fix NPE in PlotCommitList
  • Fix bug in copyPackBypassCache's skip 'PACK' header logic
  • 543956 Atomic file creation: respect that hard-linking may not be allowed
  • Fix NotDirectoryException in GC.deleteEmptyRefsFolders
  • 542446 RenameBranchCommand: more consistent handling of short ref names
  • 543390 Handle premature EOF in BundleFetchConnection
  • pgm: Handle exceptions to avoid unnecessary stack traces in command output
  • pgm: propagate generic exceptions when throwing Die exception
  • dfs: Remove synchronization in BlockBasedFile#LazyChannel
  • 530771 Fix "jgit checkout -f" to overwrite dirty worktree files
  • Repository: Don't swallow IOException but propagate them instead
  • 542845 Apache MINA sshd client: less aggressive key file name caching
  • Fix detection of "initial checkout" after cloning
  • RefDirectory: Do not use search path to find additional refs
  • RefDirectory: Fire RefsChangedEvent on error, too
  • UploadPack: Prevent setting null protocolV2Hook

Build and Release Engineering

  • Bazel: Stop using native.git_repository
  • Update Orbit to R20190226160451
  • Update README
  • Upgrade error_prone_core to 2.3.3
  • Upgrade jacoco-maven-plugin to 0.8.3
  • Upgrade Jetty to 9.4.14
  • Upgrade maven-jar-plugin to 3.1.1
  • Upgrade maven-javadoc-plugin to 3.1.0
  • Update org.apache.httpcomponents.httpcore to 4.4.10.v20190123-2214
  • Update org.apache.httpcomponents.httpclient.source to 4.5.6.v20190123-2215
  • Update org.bouncycastle.bcpg to 1.60.0.v20181210-2057
  • Update org.bouncycastle.pkix to 1.60.0.v20181210-2057
  • Update org.bouncycastle.prov to 1.60.0.v20181210-2057
  • Upgrade orb.eclipse.jdt:ecj to 3.16.0
  • Update org.tukaani.xz to 1.8.0.v20180207-1613
  • Upgrade plexus-compiler-eclipse to 2.8.5
  • Upgrade plexus-compiler-javac-errorprone to 2.8.5
  • Upgrade spotbugs to 3.1.11
  • Upgrade Tycho to 1.3
  • Upgrade wagon-ssh to 3.3.2
  • Delete jgit-4.5 target platform
  • Add 4.11-staging target platform
  • Fix tools/version.sh
  • Make TestRepository AutoCloseable
  • Change RacyGitTests to create a racy git situation in a stable way
  • Capture test coverage and add an aggregate test coverage report
  • Enable japicmp for new SSH bundle; update its baseline

Deprecations and Refactorings

  • CommitBuilder: Deprecate setEncoding(String)
  • Deprecate Repository#hasObject
  • Deprecate RawParseUtils.UTF8-CHARSET
  • Move BaseReceivePack#advertisedRefs getter and setter to ReceivePack
  • Move BaseReceivePack#walk getter to ReceivePack
  • Move BaseReceivePack#db getter to ReceivePack
  • Move BaseReceivePack#pushCert getter and setter to ReceivePack
  • RefDatabase: Introduce findRef synonym for getRef

     
Conforms To UI/UX Guidelines
Not verified
This release is part of Eclipse IDE 2019-03