News for hackers. Stuff that matters.
Re:Monorepoize – Bash scripts for creating a monorepo out of... by beagle3 on Monday April 27, 2020 @10:22AM (#22996066)
> you need to manage the problems of monorepos

If have not seen a problem on monorepos that does not exist on multirepos, other than more quickly reaching tools' repo size limits (but this is becoming less of a problem all the time on e.g. git and mercurial, and supposedly was never a problem with perforce).

I have seen many problems multirepos have that monorepos do not - such as that multirepos can (and almost always do) have a wrong split, and monorepos by definition cannot.

Re:Monorepoize – Bash scripts for creating a monorepo out of... by yokaze on Monday April 27, 2020 @03:54PM (#22999317)
> If have not seen a problem on monorepos that does not exist on multirepo

How do you refer to a library in a monorepo from a different repo?

The workflow seems to me to entail an all-or-nothing approach.

Re:Monorepoize – Bash scripts for creating a monorepo out of... by beagle3 on Monday April 27, 2020 @04:21PM (#22999582)
I never tried it, but if I needed it, I would easier use sparse submodule checkout (if it’s possible - I don’t know if that’s true), or submodule the entire repo, and the symbolic link into the internal part I need.

If all else fails (e.g. you need 50 files out of a 100GB repo, which makes things too slow), I would set up a git subtree extract as a checkin hook, which would mean there exists another repo/branch automatically updated on checkin - and which you could use any way you want, e.g, simple submodule.

Do note that’s just what I said: the problem, “I only need a small part of the repo” is independent of it being a monorepo or multirepo.

You would only avoid this problem in a multirepo if you cut it to pieces in exactly the right places. it’s just a matter of whether the parts of the repo you don’t need are too large to make this comfortable — more likely in a monorepo as it is larger - but will happen in a big enough multirepo as well.