git pull on Boost 'develop' branch problem
When I do a 'git pull' on Boost checked out to 'develop' it ends with: error: Server does not allow request for unadvertised object 3eb4826d1d2a3e46207a7e4a0467d9bab96d37f5 Anybody know why this is happening with the latest Boost in the 'develop' branch and if I need to do something to correct this ? It does not seem to b3e affecting anything, and it appears the 'git pull' is successful at the top level in pulling the latest 'develop' changes.
On 3/10/2019 14:54, Edward Diener wrote:
When I do a 'git pull' on Boost checked out to 'develop' it ends with:
error: Server does not allow request for unadvertised object 3eb4826d1d2a3e46207a7e4a0467d9bab96d37f5
Anybody know why this is happening with the latest Boost in the 'develop' branch and if I need to do something to correct this ? It does not seem to b3e affecting anything, and it appears the 'git pull' is successful at the top level in pulling the latest 'develop' changes.
The error means that there is some object referenced in your repository or the incoming changes that you do not have locally and the server either does not have it at all or does not have contained in any public branches/tags. Ensure you've done a git submodule update --init --recursive. If it persists, try doing a fresh clone. If the problem goes away, it was probably a lost object on your side. Otherwise, the next most likely cause is that someone has pushed a commit referencing a submodule commit that hasn't been pushed, or has force-pushed away some commit that you were depending on. This is very bad. (It's most likely someone forgetting to push the submodule. That's a very easy mistake to make, especially if they haven't set push.recurseSubmodules [1]. The default for that is silly and everybody should set it.) [1]: https://github.com/git/git/blob/b33a15b08131514b593015cb3e719faf9db20208/Doc...
On 2019-10-03 09:18, Gavin Lambert via Boost wrote:
On 3/10/2019 14:54, Edward Diener wrote:
When I do a 'git pull' on Boost checked out to 'develop' it ends with:
error: Server does not allow request for unadvertised object 3eb4826d1d2a3e46207a7e4a0467d9bab96d37f5
Anybody know why this is happening with the latest Boost in the 'develop' branch and if I need to do something to correct this ? It does not seem to b3e affecting anything, and it appears the 'git pull' is successful at the top level in pulling the latest 'develop' changes.
The error means that there is some object referenced in your repository or the incoming changes that you do not have locally and the server either does not have it at all or does not have contained in any public branches/tags.
Ensure you've done a git submodule update --init --recursive.
If it persists, try doing a fresh clone. If the problem goes away, it was probably a lost object on your side.
Otherwise, the next most likely cause is that someone has pushed a commit referencing a submodule commit that hasn't been pushed, or has force-pushed away some commit that you were depending on. This is very bad.
This happens when someone rewrites history by force-pushing in a submodule. Something I've been asking to prohibit for master and develop in all submodules.
On Thu, 3 Oct 2019 at 08:41, Andrey Semashev via Boost
On 2019-10-03 09:18, Gavin Lambert via Boost wrote:
On 3/10/2019 14:54, Edward Diener wrote:
When I do a 'git pull' on Boost checked out to 'develop' it ends with:
error: Server does not allow request for unadvertised object 3eb4826d1d2a3e46207a7e4a0467d9bab96d37f5
Anybody know why this is happening with the latest Boost in the 'develop' branch and if I need to do something to correct this ? It does not seem to b3e affecting anything, and it appears the 'git pull' is successful at the top level in pulling the latest 'develop' changes.
The error means that there is some object referenced in your repository or the incoming changes that you do not have locally and the server either does not have it at all or does not have contained in any public branches/tags.
Ensure you've done a git submodule update --init --recursive.
If it persists, try doing a fresh clone. If the problem goes away, it was probably a lost object on your side.
Otherwise, the next most likely cause is that someone has pushed a commit referencing a submodule commit that hasn't been pushed, or has force-pushed away some commit that you were depending on. This is very bad.
This happens when someone rewrites history by force-pushing in a submodule.
If by "This" you mean the "Server does not allow request for unadvertised object", then that (force-push) may not necessarily be the case. It happened to me and my colleagues while using big repos with submodules where neither superproject nor submodules allow force-push. I've not yet managed to figure out what caused those issues, but fiddling with updates using usually solved the issue. git submodule sync --recursive git submodule update --init --recursive The git pull alone is hardly ever useful command while working with Boost superproject or any non-trivial superproject. In most day to day tasks, one will need a script for smooth updating operations. I always update Boost with mine https://github.com/mloskot/wsl-config/blob/master/scripts/boost-superproject... and I don't recall I ever encountered any problems.
Something I've been asking to prohibit for master and develop in all submodules.
Yes, it is a good idea. Boost.GIL and Boost.Geometry disabled force-push for both branches. Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
participants (4)
-
Andrey Semashev
-
Edward Diener
-
Gavin Lambert
-
Mateusz Loskot