Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

projects are not locked to their commit hash #310

Closed
milahu opened this issue Nov 26, 2022 · 3 comments
Closed

projects are not locked to their commit hash #310

milahu opened this issue Nov 26, 2022 · 3 comments
Labels

Comments

@milahu
Copy link

milahu commented Nov 26, 2022

🐛 Bug Report

readme claims that metarepos are reproducible

give every engineer on your team the same project setup, regardless of where it's cloned

but the git urls in .meta are missing the commit hash
so when upstream changes, a new clone is different

Expected behavior

git urls should have the commit hash as url fragment id

{
  "projects": {
    "repos/meta": "https://github.com/mateodelnorte/meta#1b727d56b7f09d3f27788ac02346f184622d36de"
  }
}

git stores ...
the path + url in .gitmodules
the commit in .git/modules/repos/meta/refs/heads/master
the branch in .git/modules/repos/meta/config

@milahu milahu added the bug label Nov 26, 2022
@mateodelnorte
Copy link
Owner

mateodelnorte commented Nov 28, 2022 via email

@mateodelnorte mateodelnorte closed this as not planned Won't fix, can't repro, duplicate, stale Nov 28, 2022
@milahu
Copy link
Author

milahu commented Nov 28, 2022

you wouldn’t checkout a single git repo by its git hash

but thats what i want ...

"reproducible build" means locking sources to exact versions

@mateodelnorte
Copy link
Owner

I think you misunderstand the purpose of this tool. meta is not intended to be used in build processes. It is intended to be used in development processes. If you are building a graph of software using meta, you are using it wrong.

meta exists to allow teams of engineers to reproduceably install and track development of many repositories of software, together.

If you want to build packages together, you may want something like lerna. And you can easily have lerna packages as child repos within your meta repos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants