-
Notifications
You must be signed in to change notification settings - Fork 82
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
components/lwip/lwip issue on Toitware esp-idf fork #45
Comments
This works for me. I ran the same commands as your dump and it worked. You have a strange line:
In the middle of the text "50148/50148" there is an inserted text "Cloning into 'components/lwip/lwip'..." It's as if there are two clones going on at once, or you have a background program and a foreground program trying to do the same thing twice? Does it work to delete everything and start over? |
You're right, that looks really strange. I did it a couple fo times, but have nothing of any sorts, that could trigger anything running in parallel. Although I pasted the 5 commands into the shell in one go, but that usually works fine. This is on a spare machine running Ubuntu 16.04 (EOL'ed) with git version 2.7.4. On Ubuntu 20.04 it also works for me, but when I inspect the repo I can't locate the 0263 commit that the containing repo wants to checkout, consistent with the error message. I just redid it from scratch, manually pasting the lines one-by-one and I get the same result., don't see any sign of it being accessed multiple time. My best guess ATM is that this is an "old git" artefact;
|
Should we close this is as 'working as intended' for now, @mikini? |
I've been looking a bit into this as I think I see an inconsistency on the Toitware fork, that is somehow mitigated by more recent git clients. The fork is actually referencing a commit for the submodule which is part of another repository than the repository indicated by .gitmodules (Toitware vs Espressif). Whether this can lead to other problems than the one I experienced using an old git client is hard for me to predict, but to me a non-ambiguous description of the repositories' relationship is preferable. I'll try to substantiate this with some facts, everything done on command line is on Ubuntu 20.04/git 2.25.1. components/lwip/lwip submodule is cloned from espressif:
However, the submodule reference points to commit 02638065e72ea689eb0d3509b1960b31c515616e which is not included on any branches of the espressif repository, but which has somehow been checked out as a detached HEAD by new git clients anyhow:
Trying to reference this commit on a plain clone of esp-lwip will fail, but on the web interface github will show the commit but warn that it is contained on a fork:
It seems that somehow the checkout of an unknown commit reference from a submodule reference will/can result in a search or traversal of forks and fetching of objects from that fork. Maybe that is why duplicated "Cloning into 'components/lwip/lwip'..." is seen when done on older git (but somehow still doesn't fetch the correct objects)? Looking at what happens during recursive submodule update and init on git 2.25.1 actually shows a subtle extra fetch being done during checkout on components/lwip/lwip (for reference complete dump below):
Complete esp-idf checkout
|
Newer gits seem to be clever enough to find it even if the path isn't set correctly. Fixes toitlang/toit#45
… set correctly. Fixes toitlang/toit#45
Newer gits seem to be clever enough to find it even if the path isn't set correctly. Fixes toitlang/toit#45
We believe this has been fixed as part of upgrading to ESP-IDF v4.4. |
There seems to be a problem with the registered hash of the components/lwip/lwip submodule in Toitware esp-idf fork.
Relevant excerpt when following README.md procedure:
Complete dump:
The text was updated successfully, but these errors were encountered: