Eclipse JGit: Java implementation of Git 5.3.0




  • 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/
  • 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