Extending Git without breaking it
summary
Three patch series propose concrete, reviewable changes: fix submodule path collisions by encode submodule names (URL‑style encoding extended to handle case insensitivity, configurable per repo), place new repos under a new submodules directory alongside legacy modules to avoid immediate breakage, and modernize hooks by landing a unified hook API is parallel by design (hook.h) then adding stdin/stdout collating and a config-driven hooks list with opt-in parallel hooks to avoid surprising races; early patch breaks Windows/Mac builds and a 500+ message thread documents tradeoffs.
AI-written summary · about
chapters (5)
- 0:00Introduction
- 1:23Git submodule name encoding
- 6:02Modernizing Git hooks
- 12:08Backward compatibility risks
- 12:49Q&A
related talks
21mGit submodules: we have monorepo at home
22mShifting Left, Shifting Right
46mGit internals: Why trees are a developer's best friend
09mA Build Eco-System for Loosely Compiled Code
47mProject Talk: Maintenance Update
50mPijul: Version-Control Post-Git
43mThe Definitive Deep Dive into the .git Folder
52mWill Git Be Around Forever? A List of Possible Successors
