Implementing (parts of) git from scratch in Rust
Channel: Jon Gjengset
Date: 2024-03-09

In this stream, we implement core pieces of git from scratch by following the CodeCrafters git "course" @ https://app.codecrafters.io/join/git?via=jonhoo, just like we did for BitTorrent in https://www.youtube.com/watch?v=jf_ddGnum_4.

If you sign up with the link above, you get free access to the challenge (and all their challenges) for 7 days. Alternatively, you can access the content for free (albeit without the nice infrastructure) at https://github.com/codecrafters-io/build-your-own-git.

Video isn't sponsored (as in, I get no money for making the video), though like last time the above _is_ a referral link so that _if_ you find it useful and end up paying that also helps me — maybe a good use for an employee learning budget!

Various links from the video:

My (well, J's) Discord:
https://discord.jonhoo.eu/

GitHub sponsors:
https://github.com/sponsors/jonhoo/

Missing Semester class on git:
https://missing.csail.mit.edu/2020/version-control/

Code at the end:
https://github.com/jonhoo/codecrafters-git-rust

0:00:00 Introduction
0:02:39 Housekeeping
0:04:36 Questions before we start
0:08:39 Initializing the challenge
0:09:47 git init
0:25:27 git cat-file
0:58:21 Mitigating zipbombs
1:08:37 git hash-object
1:41:50 Organize into modules
1:47:41 git ls-tree
2:24:21 git write-tree
3:41:45 git commit-tree
3:59:06 git commit
4:23:56 Outro

Live version with chat: https://youtube.com/live/U8HeVjY9cig