3 min read

Last week, the team at GitHub released Git v2.20.0, a free and open source distributed version control system that tracks changes in computer files and coordinates work on those files among multiple people.

Features

Git clone process gets better with Git v2.20.0

The Git clone process will now warn users while they are cloning a project to a case-insensitive file-system, where there are files in the repository that only differ with their cases but have the same pathnames.

Git v2.20.0 requires Vista

With this new release, Git will now at least require Windows Vista or above versions to operate. Improvements to the Windows port has been observed, such as better support and DLL handling of nanosecond resolution file timestamps. Even the logic for selecting the default username and e-mail on Windows has been improved.

Shows a progress bar

The git status now shows a progress bar when refreshing the index takes a long time.

Git multi-pack-index has been updated

The git multi-pack-index has been updated for detecting corruption in the .midx file, and this feature has been integrated into “git fsck”.

Consolidation

When there are too many packfiles in a repository, looking up an object requires consulting multiple pack .idx files. Git v2.20.0 comes with a new mechanism which consolidates all of these .idx files in a single file.

Major Improvements

  • The generation of (experimental) commit-graph files now shows progress in the output.
  • On platforms with recent cURL library, http.sslBackend configuration variable can now be used for choosing a different SSL backend at runtime. With Windows port, it is possible to switch between OpenSSL and secure channel while talking over the HTTPS protocol.
  • A pattern with ‘**’ that does not have a slash on either side was considered an invalid one in previous versions. With this update, double-asterisks are treated the same way as two asterisks adjacent to each other are.
  • “git rev-list –stdin </dev/null” initially used to be an error in the previous version but it now shows no output without an error.
  • The developer builds in Git now use Wunused-function compilation option.
  • With this release, it is possible to create an alias that expands to another alias.
  • The test scripts have been updated in Gitv2.20.0 for style and correct handling of exit status of various commands.

Major bug fixes

  • The issue with registering same path under multiple worktree entries has been fixed.
  • The “git interpret-trailers” had a buggy code that ignored patch text after committing log message and that triggered various codepaths. This has been fixed now.
  • The bug that leaves the index file corrupt during a partial commit has been fixed now.

This release has received some positive response from users.  An interesting fact stated by one of the users on Twitter is, “In Git for Windows, if we build cURL on one machine,it will run on an estimated 3 million different machines. This release has already created some buzz around, it would be interesting to see what GitHub plans next.”

Read more about this news on the official mailing list.

Read Next

Upgrade to Git 2.19.1 to avoid a Git submodule vulnerability that causes arbitrary code execution

Git 2.19.0 released with better git grep, Python 3 compatibility for git p4

4 myths about Git and GitHub you should know about