Episode 59: Building Git with James Coglan
Tech Done Right - A podcast by Table XI

Categories:
Building Git With James Coglan TableXI is now offering training for developers and products teams! For more info, email [email protected]. 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 ImplementationSpecial Guest: James Coglan.