Git 2.24 adopts Contributor Covenant code of conduct
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.
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.
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.
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”.
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.
- 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