Time to make a change

Git 2.24 adopts Contributor Covenant code of conduct

Sarah Schlothauer
© Shutterstock / Dapitart (modified)

The newest version of Git arrived on November 3, 2019. What’s new in the open source project? Git 2.24 includes a number of notable features, bug fixes, and changes, including commit graphs enabled by default, and a newly adopted code of conduct. Let’s browse through the release notes and talk about some of the new features.

Software engineer Linus Torvalds, creator and developer of the Linux kernel, recently stated: “Git proved I could be more than a one-hit wonder.” Git itself is much more than a passing open source fad.

The latest version, 2.24 includes several new updates, code cleanup, and improvements. Let’s take a look through the release notes and see what’s new.

Commit graphs enabled by default

The new standard in 2.24 makes commit graphs enabled by default, instead of an experimental opt-in configuration. Using commit graphs, you can achieve performance improvements when loading commits.

From the documentation:

Git walks the commit graph for many reasons, including:

Listing and filtering commit history.

Computing merge bases.

These operations can become slow as the commit count grows. The merge base calculation shows up in many user-facing commands, such as merge-base or status and can take minutes to compute depending on history shape.

As far as testing this new feature goes, GitHub has been using the commit-graph file since August. According to GitHub, they achieved a speedup of over 50% on operations with it.

History rewriting tools

2.24 introduces git-filter-repo as an independent, alternative tool for rewriting a repo’s history.

From its README:

git filter-repo is a versatile tool for rewriting history, which includes capabilities I have not found anywhere else. It roughly falls into the same space of tool as git filter-branch but without the capitulation-inducing poor performance, with far more capabilities, and with a design that scales usability-wise beyond trivial rewriting cases.

How does it differ from git filter-branch? Although it is flexible, filter-branch is often very slow, difficult to use, can cause safety issues, and can even potentially corrupt your repos.

However, if you prefer filter-branch, for now, it will remain in Git. Although, according to the release blog, users are recommended to use git-filter-repo.

Contributor Covenant

With this release, Git officially adopts the Contributor Covenant as its code of conduct. Previously the community’s one conduct policy was simply “be nice, as much as possible”.

SEE ALSO: The trendy five: Chills and thrills with favorite GitHub repos in October 2019

This code of conduct has also been adopted by notable projects such as Node.js, Atom, Electron, Rails, Eclipse, Spring, Google, Travis CI, Jenkins, and TensorFlow, just to name a few. It was created by developer Coraline Ada Ehmke, who has contributed to open source since the 90s.

View the latest version of the code of conduct, its pledge, scope, and standards.

Miscellaneous changes

  • On Windows, root level of UNC share can be used like other directories
  • Initialization code clean-up
  • Command-line completion engine now completes configuration variables on per-command configurations
  • PCRE fixes and simplification
  • Implementation fixes in the notes API

Refer to the full list of release notes here as well as the blog post by GitHub.

Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is the editor for She received her Bachelor's degree from Monmouth University, West Long Branch, New Jersey. She currently lives in Frankfurt, Germany with her husband and cat where she enjoys reading, writing, and medieval reenactment. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

Inline Feedbacks
View all comments