Eclipse JGit: Java implementation of Git 6.1.0

Features

  • 353405 [push] support the "matching" RefSpecs ":" and "+:"
  • 565251 IndexDiff: use tree filter also for SubmoduleWalk
  • Describe: add support for core.abbrev config option
  • Add a typed config getter for integers confined to a range
  • PersonIdent: Add ctors that accept Instant in addition to Date
  • Cap describe abbrev option, minimum is 4, maximum is length of a full ObjectId
  • DescribeCommand: Add support for --abbrev=0
  • 537883 DescribeCommand: Support configuring the hash abbreviation
  • 578676 PushCommand: determine remote from git config if not given
  • 351314 PushCommand: consider push.default when no RefSpecs are given
  • 351314 Support for git config push.default
  • 578020 Support for "lfs.url" from ".lfsconfig"
  • 578621 Support LFS Server URL without .git suffix
  • 440211 [rebase] Enable users to have a Change-ID be generated when squashing or rewording commits.
  • RepoCommand: Add API to set extra files in the destination repository
  • 578173 RebaseCommand: better commit message rewording. Respect git config commit.cleanup for rewording.
  • 553065 CommitCommand: implement git commit --cleanup.
  • 553065 Provide git config commit.cleanup
  • sshd: support the ConnectTimeout ssh config
  • sshd: Skip unknown keys from the SSH agent
  • 577052 sshd: support the AddKeysToAgent ssh config
  • 577053 sshd: handle "IdentityAgent SSH_AUTH_SOCK" in ssh config
  • 577053 sshd: Connector for the Win32-OpenSSH SSH agent
  • 577053 sshd: handle IdentitiesOnly with an SSH agent
  • 577053 shd: support IdentityAgent config
  • DFS block cache: report index load and evict stats
  • Use slf4j-simple instead of log4j for logging
  • 356832 Add config reader for user-defined difftools
  • 356832 Add command line support for "git difftool"

Performance Improvements

  • Transport: load all refs only if push refspecs have wildcards
  • 577937 UploadPack v2 protocol: Stop negotiation for orphan refs
  • PackBitmapIndexV1: support parallel loading of reverse index
  • RefDirectory.scanRef: Re-use file existence check done in snapshot creation
  • FileSnapshot: Lazy load file store attributes cache

Bug Fixes

  • 578707 [checkout] Use .gitattributes from the commit to be checked out
  • 578852 [push] Call the pre-push hook later in the push process
  • Prevent that an instance of PushCommand is reused
  • 578511 Stop initCause throwing in readAdvertisedRefs
  • 578546 Make sure to close Repository in tests
  • 578544 Fix resource leak in CancellableDigestOutputStreamTest
  • 513726 RebaseCommand: fix commit message in "fixup" case
  • reftable: close old Db in FileRepository#convertToPackedRefs
  • 578454 reftable: Reload the stack _before_ trying to delete the files. This ensures we don't trip over our own open file handles when deleting compacted tables.
  • 550111 [test] Fix EolRepositoryTest for eol=native
  • 550111 Fix FS_Win32 if a non-directory is listed
  • 550111 [test] Fix ConfigTest for Windows
  • 550111 [test] Fix CommitTemplateConfigTest for Windows
  • 550111 [test] RepoCommandTest: guard tests for executable files
  • 550111 [test] Fix closing of test repositories
  • 550111 [test] DirCacheCheckoutTest: fix test expectation for eol=native
  • 550111 [test] Fix a Windows-only test in CheckoutCommandTest
  • 550111 [test] Fix ApplyCommandTest for Windows
  • 550111 [test] Fix OpenSshConfigFileTest for Windows
  • 550111 BinaryHunkInputStream: accept CR-LF
  • 548529 Merge conflict messages: prefix conflict lines with a hash
  • 578458 ObjectWalk: close ObjectReader on close() if needed
  • 578313 LFS: Fix error occurring during delete branch
  • [errorprone] Fix InfiniteRecursion error in RecordingLogger
  • 577545 sshd: backport upstream fix for SSHD-1231
  • 577983 Use FileSnapshot without using configs for FileBasedConfig
  • 577227 TreeRevFilter: fix wrong stop when the given path disappears
  • storage: file: De-duplicate File.exists()+File.isFile()

Build and Release Engineering

  • update DEPENDENCIES for 6.1.0 release
  • update Orbit to R20220302172233 for 2022-03
  • update com.google.gson to 2.8.9.v20220111-1409
  • update org.bouncycastle.bcpg to 1.70.0.v20220105-1522
  • update org.bouncycastle.bcpkix to 1.70.0.v20220105-1522
  • update org.bouncycastle.bcprov to 1.70.0.v20220105-1522
  • update org.bouncycastle.bcutil to 1.70.0.v20220105-1522
  • update org.apache.maven.wagon:wagon-ssh to 3.5.1
  • update org.eclipse.jdt:ecj to 3.28.0
  • update org.osgi:org.osgi.core to 6.0.0
  • update Apache MINA sshd to 2.8.0
  • update com.google.gson to 2.8.8.v20211029-0838
  • update javaewah to 1.1.13.v20211029-0839
  • update net.i2p.crypto.eddsa to 0.3.0.v20210923-1401
  • update org.apache.ant to 1.10.12.v20211102-1452
  • update org.apache.commons.compress to 1.21.0.v20211103-2100
  • update org.bouncycastle.bcprov to 1.69.0.v20210923-1401
  • update org.junit to 4.13.2.v20211018-1956
  • complete update to servlet api 4.0.0
  • update build-helper-maven-plugin to 3.2.0
  • update jacoco-maven-plugin to 0.8.7
  • update maven-antrun-plugin to 3.0.0
  • update maven-dependency-plugin to 3.2.0
  • update maven-enforcer-plugin to 3.0.0
  • update maven-jar-plugin to 3.2.0
  • update maven-javadoc-plugin to 3.3.1
  • update maven-jxr-plugin to 3.1.1
  • update maven-pmd-plugin to 3.15.0
  • update maven-project-info-reports-plugin to 3.1.2
  • update maven-resources-plugin to 3.2.0
  • update maven-shade-plugin to 3.2.4
  • update maven-site-plugin to 3.9.1
  • update maven-source-plugin to 3.2.1
  • update maven-surefire-plugin to 3.0.0-M5
  • update spotbugs-maven-plugin to 4.3.0
  • update tycho and tycho-extras to 2.5.0
  • update eclipse-jarsigner-plugin to 1.3.2
  • RepoCommand: Move bare/regular superproject writing to their own classes
  • Bazel: Include bazel resource configuration file for RBE build
  • Bazel: Add RBE support
  • Bazel: Switch to using toolchain resolution for java rules
  • Bazel: Simplify java 11 toolchain definition
  • Bazel: Remove JDK 15 toolchain definition
Release Date
Release Type
Minor release
This release is part of Eclipse IDE 2022-03