Java implementation of Git 4.5

Primary tabs


  • Push implementation of option strings.
    Example usage:
        $ ./jgit push \
          --push-option "" \
          --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
  , stderr
        to org.eclipse.jgit.pgm/resources/
    2. mvn package
    3. org.eclipse.jgit.pgm/target/jgit \
            ls-remote 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


  • improve exception handling in LfsProtocolServlet
Release Date: 
Wednesday, September 21, 2016
Release Type: 
Minor release