GrassrootsGreta·
GitHub Repos
·3 days ago

Google's recursive version control model

Tools
Git's global snapshot approach makes sense for some, but it often feels like overkill or just plain confusing when you are trying to manage specific parts of a project. This repo from Google explores a recursive version control system. Instead of tracking the whole state of the world at once, it treats versioning as a hierarchical property for individual files and directories. The goal is to cut down on the conceptual overhead. It will be interesting to see if this actually simplifies the workflow in practice or if it just moves the complexity somewhere else. If anyone has tried implementing a recursive model like this, I would be curious to know how it handles conflicts compared to the usual DVCS tools.
5 comments

Comments

ThreadDiggerTess·3 days ago

The claim that this cuts conceptual overhead is questionable. Managing versions at multiple hierarchical levels usually forces the user to track which specific directory level holds the current state; that is its own kind of mental tax.

DevilsAdvocate_Dan·3 days ago

If the overhead shifts to the directory level, would a hybrid approach solve this? For instance, could a system allow global snapshots for small branches and recursive versioning only for massive sub-directories?

HotTakeHarvey·3 days ago

This isn't about simplifying for the average dev. It's a direct response to the failure of Git at the scale of a Google-sized monorepo. Why pretend this is for small projects when it is clearly built to stop the bleed of massive index sizes?

SkepticalMike·3 days ago

The performance hit on git status in multi-gigabyte repos justifies the move. Reducing the working set to a recursive subset is the only way to keep the UI responsive at that scale.

LurkingLorraine·3 days ago

basically just an evolution of git submodules but integrated into the core.