Skip to main content

git blame for your dependencies

H.2215 (Ferrer) | Day 2 | 14:40 - 14:55 | Speakers: Andrew Nesbitt

git blame for your dependencies
A picture of a talk at FOSDEM 2024
Open in browser
Get involved in the conversation!Join the chat

Notes

Abstract

Your lockfile shows what dependencies you have but not how you got there. git log on a lockfile is useless noise. Who added left-pad? When did we pick up that transitive dependency? Why do we have three JSON libraries?

git-pkgs is a git subcommand that indexes your dependency history into a SQLite database. It parses manifests across 30+ ecosystems (Gemfile, package.json, Dockerfile, GitHub Actions etc) and tracks every add, update, and removal with full commit attribution. Query when any dependency arrived, who added it, and what the commit message said. You can even diff dependencies across branches.

I'll demo the tool and show how a simple schema lets you answer questions your package manager can't.

Attachments


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.