Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JGit/New and Noteworthy/4.2
Contents
JGit
API
- Add RemoteAddCommand
- Add RemoteListCommand
- Add RemoteRemoveCommand
- Add option to allow empty commits to CommitCommand
Configuration
- Honor some git-core fsck.* configuration settings
JGit command line
- RepoCommand: Add setRecordRemoteBranch option to record upstream branch
- git rev-parse: Add --verify option
- Add remote command to JGit command line
- Reset command support for the -- <paths> parameters
- Improved online help
Transport
- Support more encryption algorithms for Amazon S3 storage of git repositories
- Support atomic push in JGit client
Git attribute support
- Basic support for .gitattribute handling
Support git-lfs extension
- Add support for pre-push hooks
- Add support for smudge filters. If defined in .gitattributes call smudge filter during checkout.
- Add support for clean filters. If defined in .gitattributes call clean filter during add to index.
These enhancements enable JGit and EGit to support the git-lfs extension [1] for versioning of large files
[1] https://git-lfs.github.com/
Performance Improvements
- Improve performance of DirCacheBuilder
- Speed-up creation of DirCacheEntry
- Speed-up garbage collection by improving generation of bitmap index
- Speed-up delta-packing
- Improve bitmap index calculation to speed-up reachability calculations done during transport
Release Engineering and Build
- Use japicmp [2] instead of clirr to detect API changes since clirr doesn't support Java 8
- Use @Nullable annotations to aid detection of NPEs at design time
- Alternative buck build [3], much faster than Maven, can't build OSGi artefacts yet
[2] https://github.com/siom79/japicmp [3] https://buckbuild.com/
Bug Fixes
19 Bugs and 3 enhancement requests were closed
Contributors
The following 28 developers worked on this release of JGit :
Andrei Pozolotin, Andrey Loskutov, Arthur Daussy, Chris Gavin, Christian Halstrick, Dave Borowitz, David Ostrovsky, David Pursehouse, Dmitry Neverov, Doug Kelly, Eryk Szymanski, Ivan Motsch, James Kolb, Jonathan Nieder, Kaloyan Raev, Laurent Delaigue, Matthias Sohn, Marc Strapetz, Mike Gilbode, Mike Williams, Rüdiger Herrmann, Sébastien Arod, Shawn Pearce, Stefan Beller, Terry Parker, Thomas Meyer, Thomas Wolf, Yuxuan 'fishy' Wang