Azure DevOps Blog

DevOps, Git, and Agile updates from the team building Azure DevOps

Exploring new frontiers for Git push performance

In previous posts I've talked about performance improvements that our team contributed to the Git community. At Microsoft, we've been pushing Git to its limits with the largest and busiest Git repositories on the planet, improving core Git as we go and sending these improvements back upstream. With Git 2.21.0 and later you can take advantage ...

Supercharging the Git Commit Graph IV: Bloom Filters

We've been discussing the commit-graph feature in Git 2.18 and how we can use generation numbers to accelerate commit walks. One area where we can get significant speedup is when presenting output in topological order. This allows us to walk a much smaller list of commits than before. One place where this breaks down is when we apply a filter ...

Supercharging the Git Commit Graph III: Generations and Graph Algorithms

Earlier, we announced that Git 2.18 contains a new commit-graph feature, and we discussed the commit-graph file format. As shipped in Git 2.18, this file only speeds up commit walks by a constant multiple, due to parsing structured data from the commit-graph file. Today, we continue by talking about how we can use the idea of a generation ...

Supercharging the Git Commit Graph

Have you ever run gitk and waited a few seconds before the window appears? Have you struggled to visualize your commit history into a sane order of contributions instead of a stream of parallel work? Have you ever run a force-push and waited seconds for Git to give any output? You may be having performance issues due to the number of commits ...