-
Notifications
You must be signed in to change notification settings - Fork 16
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
Component manager checks out non-existing SHA (PACMAN-664) #39
Comments
The issue disappeared after some time... not sure why though. Could this be a GitHub API thing? /edit |
Hello @higaski and thank you for the issue. GitHub says When I clone https://github.com/ZIMO-Elektronik/MDU.git - which is similar to what happens under the hood of the component manager, this commit is not in the cloned repo. |
I have force pushed this commit once yes. So ZIMO-Elektronik/MDU@1b601b8 must refer to the old version which got overwritten. The question is though, why does the component manager keep referring to it? And why does clearing the cache not solve this issue? /edit |
It's intentional behavior. The goal of the component manager to make reproducible builds possible. For git sourced components it stores the commit id in dependencies lock, to be sure the same commit will be fetched next time. So it will only try to update once dependencies.lock is removed or We will document this behavior. |
Oh ok thanks for clearing that up. Personally I find that a bit unintuitive, specially since this is not what CMake (or git actually...) does. E.g. if I would like to add a dependency to an fmt branch called FetchContent_Declare(
fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG text) This would get me the latest commit from this branch, always. If I would be interested in checking out a specific commit I'd explicitly state that by using a tag, or, in case the maintainers of the dependency wouldn't care about versioning at all, a specific hash. I understand that you want to give users the best possible and simplest experience, but all these "implicit" assumptions that the whole ESP-IDF framework now makes on how it should be used (e.g. how component dependencies are handled) feel like footguns. |
For some reason removing dependencies.lock doesn't seem to work any longer... only |
The Component Manager version
IDF component manager v1.3.2
ESP-IDF Version
ESP-IDF v5.2-dev-1113-g28c643a56d
python Version
Python 3.11.3
Operating System
Arch
Browser (for https://components.espressif.com Issues)
No response
Description
The component manager seems to can get "stuck" on some specific SHA hash when trying to checkout a git branch. I've tried clearing the component managers cache but that didn't solve the issue. Neither did adding another commit to the dependency...
To Reproduce
On my system it's currently enough to add the following dependency:
Expected behaviour
Check out the latest commit when specifying a git branch.
Additional info
No response
I have checked existing issues and online Documentation
The text was updated successfully, but these errors were encountered: