Gentoo Archives: gentoo-scm

From: Maciej Mrozowski <reavertm@××××××.fm>
To: gentoo-scm@l.g.o
Cc: Zac Medico <zmedico@g.o>
Subject: [gentoo-scm] Splitting gentoo-x86 repository for easier consumption
Date: Sat, 11 Apr 2009 12:40:32

As git is generally not best suited for large repositories, there are some 
ideas how to make it perform better with gentoo-x86.
- horizontal partitioning - a'ka cutting history
- vertical partitioning - splitting based on some categorization (not sure 
whether this was considered here, hence my mail).

As cutting history have already been proposed here and received with mixed 
opinions, I'd like to suggest category based partitioning (divide and conquer 
approach FTW).
Well, not really category-based...

Let's look at tree - one thing can be said about each package - it belongs to 
some herd or (doesn't, and it's with status maintainer wanted or maintained by 
individual developers).
So creating separate repository for each herd is the most obvious (and naive) 

Pros are the following:
- project members  taking care of some herd (or belonging to herd?) receive 
(and have access) (only) to repository they are interested in, resulting in 
smaller pulls/pushes
- some level of isolation - gives possibility to restrict access (for example: 
"only toolchain and arch teams allowed here")
- some testing overlays could now just track their tree counterparts - merging 
stuff from testing to tree could be semi-automatic and trivial
- alternative projects - like hardened - can just have separate branches when 
appropriate - for easy merges with "main tree"
- profile can be (should be actually) separated in another repository and 
developed easier

Some cons:
- projects are now more dependant on other projects and its responsiveness, 
unless access is granted to all repositories for every developer
- needs some basic tools to 'glue' final repository and ready it for rsync
- possibly needs better multiple repositories support in Portage (not sure 
- profile no longer there
- to fully benefit from git - robbat2 would need to propose his slim manifest 
format as GLEP (or in case of lack of time - quite possible - get someone else 
to do it) and get it implemented by someone.
- probably not easy way to migrate from monolithic gentoo-x86 to split sub-
repositories retaining complete history
- not settled yet what to do with orphaned/proxy maintained packages and herd-

Zac, I'm CC-ing you here, I hope you don't mind. Sorry, but your input is too 
valuable here :)

I guess I could, and find someone as well to, do some tedious and repetitive 
work in that manner.



File name MIME type
signature.asc application/pgp-signature