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.
6.6.0
Features
- UploadPack: Record negotiation statistics on fetchV2 call
- Add TransportHttp#getAdditionalHeaders to allow getting additional HTTP headers set on the transport.
- 581832 Support rebasing independent branches
- 581832 Support cherry-picking a root commit
- 494323 AddCommand: ability to switch off renormalization
- Add a "renormalize" option to AddCommand. To maintain compatibility with existing uses, this option is "true" by default, and the behavior of AddCommand is as it has always been in JGit.
- [pgm] Add the "--renormalize" option to the Add command in the JGit command line program. For the command-line program, the default is as in C git: renormalize is off by default and enabled only if the option is given.
- Add protocol configuration to Amazon S3 transport http (default) or https
- [pgm] Implement git tag --contains option
- ListTagCommand: implement git tag --contains
- Implement a snapshotting RefDirectory for use in request scoped ref cache
- BasePackFetchConnection: support negotiationTip feature
- 581723 DirCache: support option index.skipHash
Performance Improvements
- PackWriter: write the PackReverseIndex file
- PackReverseIndexWriter: write out reverse index file. The reverse index for a pack is used to quickly find an object's position in the pack's forward index based on that object's pack offset. Cgit persists a pack reverse index file to avoid recomputing the reverse index ordering every time that it is needed. Introduce these reverse index files to JGit.
- IntList: add #sort using quick sort for O(n log n) runtime.
- RevWalk: use commit-graph generation number to speedup getMergedInto()
Bug Fixes
- GraphObjectIndex: fix search in findGraphPosition
- Also add suppressed exception if unchecked exception occurs in finally
- Fix inProcessPackedRefsLock not shared with copies of the instance to reduce lock contention at the file system level.
- Parse pull.rebase=preserve as alias for pull.rebase=merges to ensure backwards compatibility to the old config value which was removed in git 2.34 which JGit followed in Ic07ff954e2.
- UploadPack: Fix NPE when traversing a tag chain
- Prevent infinite loop which might occur when rescanning the pack list on PackMismatchException
- PackedBatchRefUpdate: If packing loose refs fails due to a lock failure, reject update with a LOCK_FAILURE.
- PatchApplier: Check for existence of src/dest files before any operation
- Revert "RefDirectory: Throw exception if CAS of packed ref list fails" to prevent races
- RefDirectory.delete: Prevent failures when packed-refs is outdated
- RefDirectory.pack: Only rely on packed refs from disk to prevent races
- 581641 PackedBatchRefUpdate: Ensure updates are applied on latest packed refs to prevent races causing lost Ref updates
- Fix PatchApplier error handling.
- Ensure parsed RevCommitCG has derived data from commit-graph
- Ensure FileCommitGraph scans commit-graph file if it already exists
Build and Release Engineering
Target platform
- Update to Orbit S20230516204213
- Add 4.27 (2023-03) and 4.28 (2023-06) target platforms
Build updates
- Tycho to 4.0.0-SNAPSHOT
- japicmp-maven-plugin to 0.17.2
- spotbugs-maven-plugin to 4.7.3.4
- dash license-tool-plugin to 1.0.2
- maven-clean-plugin to 3.2.0
- maven-compiler-plugin to 3.11.0
- maven-deploy-plugin to 3.1.1
- maven-enforcer-plugin to 3.3.0
- maven-javadoc-plugin to 3.5.0
- maven-project-info-reports-plugin to 3.4.3
- maven-resources-plugin to 3.3.1
- maven-surefire-plugin to 3.0.0
- maven-surefire-report-plugin to 3.0.0
- build-helper-maven-plugin to 3.3.0
- jacoco-maven-plugin to 0.8.10
- spring-boot-maven-plugin to 2.7.11
- plexus-compiler to 2.13.0
- org.eclipse.jdt:ecj to 3.33.0
The Maven build now requires to run on Java 17 or higher (required by Tycho 4)
PGP sign p2 artefacts for 3rd party dependencies consumed directly from Maven Central
Dependency updates
The project leadership certifies that the APIs in this release are "Eclipse Quality".
- Log in to post comments