Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Derrick Stolee
Git security vulnerabilities announced
Today, the Git project released new versions to address a pair of security vulnerabilities, CVE-2022-41903, and CVE-2022-23521, that affect versions 2.39 and older. Git for Windows was also patched to address an additional, Windows-specific issue known as CVE-2022-41953. The first two vulnerabilities affect Git’s commit formatting mechanism and .gitattributes parser, respectively. The former can be used to perform arbitrary heap writes, while the latter can be used for arbitrary reads, too.
Highlights from Git 2.39
The open source Git project just released Git 2.39, with features and bug fixes from over 86 contributors, 31 of them new. We last caught up with you on the latest in Git back when 2.38 was released. To celebrate this most recent release, here’s GitHub’s look at some of the most interesting features and changes introduced since last time. If you use Git on the command-line, you have almost certainly used git log to peruse your project’s history.
Git security vulnerabilities announced
Today, the Git project released new versions to address a pair of security vulnerabilities (CVE-2022-39253, and CVE-2022-39260) that affect versions 2.38 and older. These affect Git’s --local clone optimization and git shell‘s interactive command mode.
The Story of Scalar
When you install Git v2.38, you’ll find a new executable tool available called scalar. At its core, Scalar enables the latest and greatest Git features for working with large repositories. By simply switching from git clone to scalar clone, you will have all of Git’s most impactful performance features, such as partial clone, sparse-checkout, background maintenance, and advanced config options neatly configured for your repository. Have you already cloned your repository?
Highlights from Git 2.38
The open source Git project just released Git 2.38, with features and bug fixes from over 92 contributors, 24 of them new. We last caught up with you on the latest in Git back when 2.37 was released. To celebrate this most recent release, here’s GitHub’s look at some of the most interesting features and changes introduced since last time. A repository management tool for large repositories We talk a lot about performance in Git, especially in the context of large repositories.
Scaling Git’s garbage collection
At GitHub, we store a lot of Git data: more than 18.6 petabytes of it, to be precise. That’s more than six times the size of the Library of Congress’s digital collections1. Most of that data comes from the contents of your repositories: your READMEs, source files, tests, licenses, and so on. But some of that data is just junk: some bit of your repository that is no longer important. It could be a file that you over, or the contents of a branch you deleted without merging.
Git's Database Internals III: File History Queries
This week, we are exploring Git’s internals with the following concept in mind: Git is the distributed database at the core of your engineering system. Before making a change to a large software system, it can be critical to understand the reasons why the code is in its current form. Looking at commit messages alone is insufficient for this discovery, and instead it is important to find the changes that modified a specific file or certain lines in that file.
Git's database internals II: commit history queries
This week, we are exploring Git’s internals with the following concept in mind: Git is the distributed database at the core of your engineering system. Git’s role as a version control system has multiple purposes. One is to help your team make collaborative changes to a common repository. Another purpose is to allow individuals to search and investigate the history of the repository. These history investigations form an interesting query type when thinking of Git as a database.
Git's database internals I: packed object store
Developers collaborate using Git. It is the medium that allows us to share code, work independently on our own machines, and then finally combine our efforts into a common understanding. For many, this is done by following some well-worn steps and sticking to that pattern. This works in the vast majority of use cases, but what happens when we need to do something new with Git? Knowing more about Git’s internals helps when exploring those new solutions.
Highlights from Git 2.35
The open source Git project just released Git 2.35, with features and bug fixes from over 93 contributors, 35 of them new. We last caught up with you on the latest in Git back when 2.34 was released. To celebrate this most recent release, here’s GitHub’s look at some of the most interesting features and changes introduced since last time. When working on a complicated change, it can be useful to temporarily discard parts of your work in order to deal with them separately.
Make your monorepo feel small with Git’s sparse index
One way that Git scales to the largest monorepos is the sparse-checkout feature, which allows you to focus on a subset of the files. This is supposed to make it feel like you are actually in a small repository, even though you are contributing to a large repository. There’s only one problem: the Git index is still large in a monorepo, and users can feel it. Until now. The Git index is a critical data structure in Git.
Highlights from Git 2.33
The open source Git project just released Git 2.33 with features and bug fixes from over 74 contributors, 19 of them new. We last caught up with you on the latest in Git when 2.31 was released. Here’s a look at some of the most interesting features and changes since then. Geometric repacking In a previous blog post, we discussed how GitHub was using a new mode of git repack to implement our repository maintenance jobs. In Git 2.32, many of those patches were released in the open-source Git project.
Highlights from Git 2.29
The open source Git project just released Git 2.29 with features and bug fixes from over 89 contributors, 24 of them new. Last time we caught up with you, Git 2.28 had just been released. One version later, let’s take a look at the most interesting features and changes that have happened since then. Experimental SHA-256 support Git 2.29 includes experimental support for writing your repository’s objects using a SHA-256 hash of their contents, instead of using SHA-1. What does all of that mean?
Git credential helper vulnerability announced (Update)
A couple of days ago, Git released v2.26.1 to address a critical vulnerability in the credential helper mechanism. Today, the Git project is releasing another round of updates to address a related issue that’s present in v2.26.1 and older. This vulnerability allows a malformed URL to create a credential pattern inside Git with some fields left blank. Many credential helpers interpret these blank values as an instruction to match any credential.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Derrick
Contact Derrick, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack