Monorepo?

Johan j at j.nl
Wed Feb 8 19:20:42 UTC 2023


On Monday, 6 February 2023 at 10:22:32 UTC, Atila Neves wrote:
> Now that dmd/druntime is in one repo, is there a good reason to 
> not include Phobos?

I'm in favor of this.

In this thread I have seen no arguments against it that are 
relevant, because they do not relate to having things in one or 
more repositories. The order in which things are built, or mutual 
independence, etc, those are not related to having things in one 
repository. It is related to the CI and build system in place. 
You will need to have checked out all repositories to complete CI 
testing; can't ship the compiler without Phobos included.

FYI, LDC has effectively had things in one repository (using 
submodule) for a very long time, definitely since I joined the 
project many years ago. LLVM now also has _Everything_ in one 
repository (runtime, libcxx, clang, flang (another language!), 
lld, ...). It's convenient.

For DMD development, having things in one repo will make it much 
easier to deal with breaking changes (and will also make git 
--bisect easier).
Just mentally imagine what currently needs to be done when a DMD 
change breaks Phobos compilation (the coordination of PR merging 
and keeping track of which DMD commithash requires which Phobos 
commithash); and then imagine what that would look like in a 
monorepo.

-Johan



More information about the Digitalmars-d mailing list