Episode 59: Building Git with James Coglan
Description
Building Git With James Coglan
TableXI is now offering training for developers and products teams! For more info, email workshops@tablexi.com.
Guest
James Coglan: Author of Building Git and JavaScript Testing Recipes. More at jcoglan.com/.
Summary
Our guest today is James Coglan. James has written an extraordinary programming book called Building Git. In it, he describes the inner workings of the Git source control tool by re-implementing a substantial part it in Ruby, including commits, diffs, branching, and networking. Along the way he shows not just how Git works, but also details of some of the algorithms it uses. There’s also a lot about building complex systems generally. And it has some great examples of test-driven development. James and I also talk about implementing in a high-level language like Ruby, versus a lower-level language like C. It’s a unique book, and I’ve been looking forward to talking to James about it for some time.
Notes
01:58 - Reimplementing Git
04:17 - Examples and Understanding Git Internals
06:32 - Building Complex Systems in General
09:10 - How the Design of the Code Emerges
11:51 - Test-Driven Development
15:16 - Implementing Git and Ruby
22:37 - Surprises
26:29 - Making UI Changes
29:30 - Gaps Remaining in Functionality and Performance
32:04 - Contribution and Implementations in Other Languages
- Gary Bernhardt's Screencasts
34:25 - Lower-level Language vs Higher-level Language Implementation
Special Guest: James Coglan.