Eclipse JGit: Java implementation of Git 4.5 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

4.5

Description

Features

  • Push implementation of option strings.

    Example usage:

        $ ./jgit push \

          --push-option "Reviewer=j.doe@example.org" \

          --push-option "<arbitrary string>" \

          origin HEAD:refs/for/master

    Push options were also added to cgit
  • Packet logging for JGit

    Imitate the packet tracing feature from C Git. Unlike C Git, use the log4j

    log level setting instead of the GIT_TRACE_PACKET environment variable

    to enable tracing. Use as follows:

    1. Enable tracing by adding the lines

            log4j.logger.org.eclipse.jgit.transport=DEBUG, stderr

            log4j.additivity.org.eclipse.jgit.transport=false

        to org.eclipse.jgit.pgm/resources/log4j.properties.

    2. mvn package

    3. org.eclipse.jgit.pgm/target/jgit \

            ls-remote git://git.kernel.org/pub/scm/git/git 2>&1 | less

    Then the output provides a trace of packets sent and received over the wire
  • Shallow fetch/clone: Make --depth mean the total history depth

    cgit changed the --depth parameter to mean the total depth of history

    rather than the depth of ancestors to be returned. JGit still uses

    the latter meaning, so update it to match cgit.
  • Shallow fetch: Respect "shallow" lines
  • ReceivePack: report protocol parsing failures on channel 3
  • Push: Report fatal server errors during pack writing
  • Add configureJSch() method to allow configuration of JSch objects
  • Add support for post-commit hooks
  • Enhance ResetCommand to allow disabling reflog update

JGit Command Line

  • Added a clean command.
  • Tag command: implement option -d for deleting tags

LFS

  • improve exception handling in LfsProtocolServlet