[libre-riscv-dev] monorepo

Jacob Lifshay programmerjake at gmail.com
Wed May 20 19:43:32 BST 2020


On Tue, May 19, 2020, 14:41 <bugzilla-daemon at libre-soc.org> wrote:

> https://bugs.libre-soc.org/show_bug.cgi?id=313
>
> --- Comment #29 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
> (In reply to Jacob Lifshay from comment #28)
> > (In reply to Michael Nolan from comment #27)
>
> > > Yep... I haven't had that happen to me yet, but it's pissing me off
> too.
> >
> > We definitely should move to a monorepo
>
> no.  that sends the wrong message, unfortunately [it says, very loudly,
> "other
> specific focussed alternative uses for our work not welcome, in the
> slightest.
> download our monorepo containing everything you don't want or need, and
> like
> it.  or Go Home.  we don't care"]
>

what about if we have a monorepo where we have an automatically updated
read-only git mirrors for the subdirectories that can be used independently
as well as documenting that everywhere it's relevant? That would quite
explicitly give the message that those subdirectories are intended to be
usable separately from the rest of our code.

>
> when you have time, look up the nightmare of freeswitch ignoring standard
> development practices when it comes to dependency management.
>

I'm not advocating for us to have all external dependencies be a part of
our monorepo, only the code we are actively developing and is closely
related: nmutil, soc, ieee754fpu, and probably the layout code. nmigen (and
maybe corolis2) would be a submodule since it often changes and is not part
of libre-soc, everything else doesn't change that often and doesn't need to
be synchronized with our code.

>
> the intention of having the csv and isatables in the wiki is to make it
> clear
> that they are independently useable *outside* of our project.
>

they would be mirrored to their own git repo (we wouldn't need the weird
.text extension), we could also mirror them to the wiki if desired.

>
> without requiring gigabyte additional downloads and dependencies which we
> need
> but they most certainly do not.
>
having separate git mirrors would make it unnecessary to download all our
code to use some portion of it.

Jacob


More information about the libre-riscv-dev mailing list