5.1.0
This release will be shipped with the simultaneous release 2018-09
Features
- 434085 Use the same default diff.renameLimit = 400 like native git
- Parse signature of GPG-signed commits
- Replace fetch.useminimalnegotation flag with fetch.maxhaves flag
- Protocol V2
- FetchV2Request: Rename shallowSince to deepenSince
- Add fetch support to ProtocolV2Hook
- #534847 Introduce ProtocolV2Hook
- Fetch protocol v2: Respond with shallow-info before wanted-refs
- Support protocol v2 want-ref in UploadPack
- Allow overriding DfsPackDescription comparator for scanning packs
- Make DfsConfig public
- Add ls-files CLI command
- RepoCommand: Support remove-project node in the manifest parser
- RepoCommand: record remote branch, group, shallow bit by default
- SubmoduleAddCommand: Add API to specify the submodule name
Performance Improvements
- Seek references by prefix in reftable
- Fix a GC scalability issue when selecting commit bitmaps
- 485743 Avoid expensive getAllRefsByPeeledObjectId() in PlotWalk constructor
Bug Fixes
- 536318 Fix replacement quoting for replaceAll in filter command
- 537969 Fix atomic lock file creation on NFS configured via option core.supportsAtomicCreateNewFile
- GC: Avoid logging errors when deleting non-empty folders
- 538286 Fix NoSuchFileException in GC.deleteTempPacksIdx()
- 538285 Fix NoSuchFileException during directory cleanup in RefDirectory
- 529400 Fix fetching with duplicate ref updates
- 529314 Fetch(Process): should tolerate duplicate refspecs
- 538068 SubmoduleDeinitTest fails on Windows
- 538068 FilterCommandsTest fails on Windows
- 538068 ReceivePackAdvertiseRefsHookTest.testSuccess() fails on Windows
- 537969 Fix wrong warning message in case of lock failures
- Fix GC run in foreground to not use executor
- Fix unpredictable ordering of entries in .gitmodules.
- 537410 Fix ResolveMerger: rebase with autocrlf=true, direct checkout
- 537790 Ensure that JSch knows HostKeyAlgorithms ssh-rsa and ssh-dss
- 536324 Abort rename detection in a timely manner if cancelled
- RepoCommand: Use project names instead of paths for the submodule name
- Send only 1 flush pkt at the end of v2 fetch
- 499543 Fix NPE in BlameGenerator.getSourceStart()
- 537166 HttpClientConnection.getHeaderFields should support multiple values for same header
- Always send refs' objects despite "filter" in pack
- 536880 ResolveMerger: don't try needlessly to delete directories
- 526111 Ensure RacyGitTests don't raise false negatives
- GC: Trim more EWAHCompressedBitmaps to free unused memory
- Make Reftable seek* and has* method names more consistent
- Add progress monitor step to first phase of GC commit selection
- 536541 Add response message, if any, on HTTP status 404
- Correctly handle initialization of shallow commits
- CleanCommand: don't fire WorkingTreeModifiedEvent on dry run
- DfsPackDescription: Disallow null PackSource
Build and Release Engineering
- Update Orbit 2018-09 to R20180905201904
- Update Photon orbit repository to R20180606145124
- Bazel: Use hyphen instead of underscore in external repository names
- Update bazel dependencies to match maven dependencies
- Update Jetty to 9.4.11.v20180605
- Update org.apache.commons.codec to 1.10.0.v20180409-1845
- Update org.apache.commons.logging to 1.2.0.v20180409-1502
- Update org.apache.httpcomponents.httpclient to 4.5.5.v20180409-1525
- Update org.apache.httpcomponents.httpcore to 4.4.9.v20180409-1525
- Update Maven plugins
- build-helper-maven-plugin 3.0.0
- eclipse-jarsigner-plugin 1.1.5
- jacoco-maven-plugin 0.8.1
- maven-clean-plugin 3.1.0
- maven-compiler-plugin 3.8.0
- maven-jar-plugin 3.1.2
- maven-pmd-plugin 3.10.0
- maven-resources-plugin 3.1.0
- maven-shade-plugin 3.1.1
- maven-site-plugin 3.7.1
- maven-surefire-plugin 2.21.0
- maven-surefire-report-plugin 2.21.0
- plexus-compiler-javac 2.8.4
- spotbugs-maven-plugin 3.1.6
- wagon-ssh 3.1.0
- Upgrade Tycho to 1.2.0