Huge Mono-repositories in Git/Hg



Very valuable article about mono-repositories in Git/Hg: 
http://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html

In nutshell:
  • There is two ways of scaling big-fat project if single repository going slow you down:
    1. Split project on SUB-project with its own repos. As result - you will have splitting problem, dependency-hell, wide refactoring become hard, unsupported version mixes with “please upgrade everything first” suggestions in bug-tickets.
    2. Keep all in same repo but create separate repos for separate functionality/work, with very active pull-requests between repos.
  • Current GitHub don't really support "advanced" pull requests and bug-tracking across repositories as required in #2.
  • Linux kernel and Windows OS use #2 because #1 is not an option.
Links:


Comments