radicle-link icon indicating copy to clipboard operation
radicle-link copied to clipboard

Should the monorepo layout have a spec

Open xla opened this issue 5 years ago • 8 comments

Posing this as a question, to gauge if there might be value in speccing the layout of the monorepo. It being motivated by a lot of string manipulation up and down the stack, including library consumers. It also being the source of a confusion and often times bugs stemming from misunderstanding of the correct path into the namespaces and refs.

An alternative would be that downstream consumers never are exposed to any of it, likely related to #346

Beyond the public API of the library it should be considered if the monorepo layout is significant across implementations and therefore needs formalisation.

Ref. #368

xla avatar Oct 20 '20 08:10 xla

speccing the layout of the monorepo

The layout was conceived in RFC: Identity Resolution. It needs to be brought up to date in some details, and moved into the docs/spec section.

string manipulation up and down the stack, including library consumers

Can you substantiate that? The remote helper was created to hide the layout from users, so if there is any refspec manipulation upstream, it is in the wrong place.

kim avatar Oct 20 '20 09:10 kim

One thing that I often run into is that when trying to specify a ref for browsing that lives under a remote. Because there's the prefixing of heads/ we get end up having to plug that in. See this issue I created https://github.com/radicle-dev/radicle-upstream/issues/1043

FintanH avatar Oct 20 '20 09:10 FintanH

I guess we could consider wrapping surf again, and use a shared set of types instead of stringly refspecs

kim avatar Oct 20 '20 09:10 kim

I guess we could consider wrapping surf again, and use a shared set of types instead of stringly refspecs

How would we feel about having a separated package for our git stuffz that radicle-link and radicle-surf could depend on? :eyes:

FintanH avatar Oct 20 '20 10:10 FintanH

How would we feel about having a separated package for our git stuffz that radicle-link and radicle-surf could depend on? eyes

radicle-stringly <- push to npm

xla avatar Oct 20 '20 10:10 xla

Definition of git stuffz?

kim avatar Oct 20 '20 11:10 kim

I think the git::ext::* and git::types::* stuffz could be quite useful in radicle-surf as well. Basically, anything that isn't specific to radicle-link :)

FintanH avatar Oct 20 '20 11:10 FintanH

Ya, except git::types::* is very much specific to link

kim avatar Oct 20 '20 19:10 kim