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