The Git repository format is a marvel of data structure design — nearly unchanged since the project's inception — and understanding it is key to becoming a Git power user.
In this talk, starting from the blob, commit, and tree objects that live inside Git's content-addressable store, we'll explore what goes on inside the .git directory; how it all ties back to a sometimes-baffling command line interface; and how well the core Git model withstands attempts to extend it such as Git's subprojects, Git Annex, and alternative user interfaces.
Presenter: Marvin Humphrey
Paper: "Git—A Stupid Content Tracker", by Junio C. Hamano (2006)
How to read the paper, in four optional steps:
0. Skip it and attend anyway — the presentation won't assume attendees have read the paper, though it will be helpful if you've at least tried Git.
1. Read Section 1 of the paper, "Low Level Design".
2. Spelunk into the .git directory in some local repository and have a look around. If you'd prefer to take a longer guided tour, consider working through https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
3. Read the rest of the paper.
Street parking on 6th, 7th & 8th Avenues north of B Street is usually easy at that hour. Meters nearby are free after 6. Read signage before you park on A street.
If you're interested in presenting a paper please fill out this form (https://docs.google.com/forms/d/e/1FAIpQLScaI-fWdys27-ByT_HdtsJ73V4AxZr0hf1GSqLsQ1IwAaPdIQ/viewform) or talk to us in person at the meetup.