Eclipse JGit: Java implementation of Git 6.2.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

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.

Release

6.2.0

Description

New Features

  • 552840 Teach JGit to handle external diff/merge tools defined in .gitattributes
  • 356832 Support external diff and merge tools, see https://git-scm.com/docs/git-mergetool

    - Adapt diff- and merge tool code for PGM and EGit usage

    - Add availability check of pre-defined tools

    - Add filtering with help of DirCacheCheckout.getContent()

    - Add mergetool merge feature (execute external tool)

    - Add command line support for "git mergetool"

    - Add config reader for user-defined mergetools

    - Add difftool compare feature (execute external tool)
  • 571390 [sshd] Better user feedback on authentication failure
  • Fetch: Introduce negative refspecs.
  • 579325 Use git config core.commentChar when committing, creating merge conflict messages and creating and editing squash messages.
  • 579325 CommitConfig: add support for core.commentChar
  • 546567 [push, lfs] Tell the pre-push hook whether the push is a dry run



Performance Improvements

  • 577948 RewriteGenerator: Fully buffering of input is no longer necessary
  • 578020 Lazy loading of .lfsconfig



Bug Fixes

  • Fix connection leak for smart http connections
  • 579445 Remove stray files (probes or lock files) created by background threads
  • 579676 HTTP Smart: set correct HTTP status on error
  • 579550 De-couple ServiceLoader calls from class loading
  • 579550 GpgSigner: prevent class lock inversion on the default signer
  • CommitCommand: call GpgSigner.getDefault() only if indeed signing
  • DirCacheCheckout: use a LinkedHashMap instead of HashMap. This guarantees that updates are checked out in git order, which is important for LFS if a .lfsconfig file is used
  • 579116 Re-try reading a file when there are concurrent writes and the filesystem does not support atomic rename
  • 575629 [sideband] Ensure last bit of progress channel is written
  • 544769 LsRemoteCommand: apply url.*.insteadOf to ensure remote URI is translated if used without repository



Build and Release Engineering

  • Update orbit to R20220531185310
  • Update com.jcraft.jzlib to 1.1.3.v20220502-1820
  • Update net.i2p.crypto.eddsa to 0.3.0.v20220506-1020
  • Update org.bouncycastle.bcpg to 1.70.0.v20220507-1208
  • Update  org.bouncycastle.bcprov to 1.70.0.v20220507-1208
  • Update Tycho to 2.6.0
  • Avoid warning "no explicit project encoding"
  • Add target platforms for eclipse 4.23 (2022-03) and 4.24 (2022-06)
  • Refer to target platform as file
  • 576165 Add GetRefsBenchmark for testing refs lookups
  • LFS: clean up messages

     
API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Conforms To UI/UX Guidelines
Not verified
This release is part of Eclipse IDE 2022-06