De ontwikkelaars achter Git hebben versie 2.50.0 van hun software uitgebracht. Met Git kunnen onder andere software- en projectontwikkelaars beheer en versiecontrole over data en broncode uitvoeren. Het programma kan worden gezien als een concurrent voor Subversion of Mercurial. Het heeft onder andere complete branching- en mergingfuncties en wordt onder de GPLv2 uitgegeven. De complete changelog voor deze uitgave is hier te vinden; dit zijn de belangrijkste veranderingen en verbeteringen:
UI, Workflows & Features
- A post-processing filter for "diff --raw" output has been introduced.
- "git repack" learned "--combine-cruft-below-size" option that controls how cruft-packs are combined.
- TCP keepalive behaviour on http transports can now be configured by calling cURL library.
- Incrementally updating multi-pack index files.
- "git reflog" learns "drop" subcommand, that discards the entire reflog data for a ref.
- A new userdiff driver for ".ini" format configuration files has been added.
- The job to coalesce loose objects into packfiles in "git maintenance" now has configurable batch size.
- "git clone" still gave the message about the default branch name; this message has been turned into an advice message that can be turned off.
- "git rev-list" learns machine-parsable output format that delimits each field with NUL.
- "git maintenance" learns a new task to expire reflog entries.
- Auth-related (and unrelated) error handling in send-email has been made more robust.
- Updating multiple references have only been possible in an all-or-nothing fashion with transactions, but it can be more efficient to batch multiple updates even when some of them are allowed to fail in a best-effort manner. A new "best effort batches of updates" mode has been introduced.
- "git help --build-options" reports SHA-1 and SHA-256 backends used in the build.
- "git cat-file --batch" and friends learned to allow "--filter=" to omit certain objects, just like the transport layer does.
- "git blame --porcelain" mode now talks about unblamable lines and lines that are blamed to an ignored commit.
- The build procedure installs bash (but not zsh) completion script.
- send-email has been updated to work better with Outlook’s SMTP server.
- "git diff --minimal" used to give non-minimal output when its optimization kicked in, which has been disabled.
- "git index-pack --fix-thin" used to abort to prevent a cycle in delta chains from forming in a corner case even when there is no such cycle.
- Make repository clean-up tasks that "gc" can do available to "git maintenance" front-end.
- Bundle-URI feature did not use refs recorded in the bundle other than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all.
- The send-email documentation has been updated with OAuth2.0 related examples.
- Two of the "scalar" subcommands that add a repository that hasn’t been under "scalar"'s control are taught an option not to enable the scheduled maintenance on it.
- The userdiff pattern for shell scripts has been updated to cope with more bash-isms.
- "git merge-tree" learned an option to see if it resolves cleanly without actually creating a result.
- The commit title in the "rebase -i" todo file are now prefixed with #, just like a merge commit being replayed.
- "git receive-pack" optionally learns not to care about connectivity check, which can be useful when the repository arranges to ensure connectivity by some other means.
- "git notes --help" documentation updates.