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