Live data from Hacker News

Metahead – An enterprise-grade, Git-based metarepo

metahead.dev

11–20 of 38 posts

Re: Metahead – An enterprise-grade, Git-based metarepo

#12

[flagged]

We're pretty worried about trying to monorepoize our existing code bases together. How do we not break all the merge commits that link a project specific PR? Complex filter-branch I guess. How do we make GitHub able to actually help us navigate the past effectively? It seems like we need some custom tooling to help us replay the past step by step across multiple repos, doing some rewriting as we go. And what if it's…

> How do we not break all the merge commits that link a project specific PR?

You won’t lose commits that are already made. Open PRs might become a problem, I’d reopen them in the monorepo; this could be automated.

You would lose meaningful inter-linking for commits, PRs and issues, since they all have the same overlapping #xxx namespace.

You could triage all issues to the new monorepo, but the tool for rewriting history to re-reference issues (in the monorepo) and PRs (with the to-be archived repo as prefix) does not, as far as I know, exist. But it’s doable with some scripting and the GitHub API.

git filter-repo (not filter-branch) is wonderful for all the merging of repos, moving/splitting into subdirectories without git mv.

> What if you also are trying to manage external deps too?

I’d go with git sub-repo for that.

Re: Metahead – An enterprise-grade, Git-based metarepo

#14
post #13

As someone who's never heard of a metarepo before, I'm still not sure exactly what it is or why I should use it after reading their landing page. I think a metarepo explainer video would helpful.

"metadata" is data that describes other data.

I would guess a "metarepo" is a repo that contains other repos.

Why would you want this? It's an alternative to monorepos or hacky homegrown solutions for managing related repos.

Re: Metahead – An enterprise-grade, Git-based metarepo

#15
post #13

As someone who's never heard of a metarepo before, I'm still not sure exactly what it is or why I should use it after reading their landing page. I think a metarepo explainer video would helpful.

Vlad from metahead here. We answer this in the FAQ – metarepo is just a git repo that you can slice and dice any way you want while preserving history and having the ability to work on your part of the code. We went with "meta" because it's not exactly mono- or poly- – it's flexible enough so that you can make anything out of it. It also stores information about how your repos / projections relate – in that sense it's "meta" as well.

Re: Metahead – An enterprise-grade, Git-based metarepo

#16
post #13

As someone who's never heard of a metarepo before, I'm still not sure exactly what it is or why I should use it after reading their landing page. I think a metarepo explainer video would helpful.

Vlad from metahead here. We answer this in the FAQ – metarepo is just a git repo that you can slice and dice any way you want while preserving history and having the ability to work on your part of the code. We went with "meta" because it's not exactly mono- or poly- – it's flexible enough so that you can make anything out of it. It also stores information about how your repos / projections relate – in that sense it'…

“Meta” would normally mean that a metarepo relates to a repo like a repo relates to a file. That would imply an orthogonal versioning axis, similar to a bitemporal database.

I find the term confusing here because that’s not really what it is (if my understanding is correct).

Re: Metahead – An enterprise-grade, Git-based metarepo

#17
post #16

Earlier quoted context omitted.

Vlad from metahead here. We answer this in the FAQ – metarepo is just a git repo that you can slice and dice any way you want while preserving history and having the ability to work on your part of the code. We went with "meta" because it's not exactly mono- or poly- – it's flexible enough so that you can make anything out of it. It also stores information about how your repos / projections relate – in that sense it'…

“Meta” would normally mean that a metarepo relates to a repo like a repo relates to a file. That would imply an orthogonal versioning axis, similar to a bitemporal database. I find the term confusing here because that’s not really what it is (if my understanding is correct).

It does, in fact, relate to a repo like a repo relates to a file! Because every projection only contains related history and subtrees – much like if you were looking at a history of a file in a git repository

Re: Metahead – An enterprise-grade, Git-based metarepo

#18
post #13

As someone who's never heard of a metarepo before, I'm still not sure exactly what it is or why I should use it after reading their landing page. I think a metarepo explainer video would helpful.

Vlad from metahead here. We answer this in the FAQ – metarepo is just a git repo that you can slice and dice any way you want while preserving history and having the ability to work on your part of the code. We went with "meta" because it's not exactly mono- or poly- – it's flexible enough so that you can make anything out of it. It also stores information about how your repos / projections relate – in that sense it'…

Where is your FAQ? I couldn't find it in the first few pages of your websites. No link in the footer either. The only button in your navbar is "about" which is not it.

Re: Metahead – An enterprise-grade, Git-based metarepo

#19
post #16

Earlier quoted context omitted.

“Meta” would normally mean that a metarepo relates to a repo like a repo relates to a file. That would imply an orthogonal versioning axis, similar to a bitemporal database. I find the term confusing here because that’s not really what it is (if my understanding is correct).

It does, in fact, relate to a repo like a repo relates to a file! Because every projection only contains related history and subtrees – much like if you were looking at a history of a file in a git repository

So I can “commit” a repo containing some history as the new version of a previous repo containing a different history?

Re: Metahead – An enterprise-grade, Git-based metarepo

#20
post #18

Earlier quoted context omitted.

Vlad from metahead here. We answer this in the FAQ – metarepo is just a git repo that you can slice and dice any way you want while preserving history and having the ability to work on your part of the code. We went with "meta" because it's not exactly mono- or poly- – it's flexible enough so that you can make anything out of it. It also stores information about how your repos / projections relate – in that sense it'…

Where is your FAQ? I couldn't find it in the first few pages of your websites. No link in the footer either. The only button in your navbar is "about" which is not it.

It's a bit down on the front page

https://metahead.webflow.io/#faq:~:text=Frequently%20Asked%2...

But we got this feedback - we will make it more visible

Post reply on HN