Re: Git error message "Server does not allow request for unadvertised object"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Yngve,

> Le 18 mai 2020 à 05:20, Yngve N. Pettersen <yngve@xxxxxxxxxxx> a écrit :
> 
> Hello all,
> 
> A while back I reported an issue to the Windows Git project <https://github.com/git-for-windows/git/issues/2218> that I observed in Git for Windows 2.21.
> 
> The error message "Server does not allow request for unadvertised object" is reported when a commit updating a submodule pointer points to a commit that does not exist in the repository for that submodule, even if later commits in the branch points to a commit that do exist in the submodule repo.
> 
> This circumstance can easily occur if a developer (e.g)
> 
> * interactively rebases a branch "foo" in the submodule (e.g to integrate commits from another branch before a larger rebase)
> * commits the resulting submodule pointer "A" in the branch to the parent repo
> * then do further rebasing in the submodule, e.g to move up on top of the "bar" branch
> * commits that pointer "B" to the parent repo
> * forgets to squash the history in the parent repo
> * pushes the updated submodule "foo" branch to the online repo. (NOTE: "B" is pushed, not "A")
> * pushes the parent module branch to its online repo
> 
> When the parent repo is pulled by another developer, or an autobuild system, the fetch operation fails with the message "Server does not allow request for unadvertised object". A second fetch will complete successfully.
> 
> IMO this kind of check should only happen if a commit with pointer to a missing submodule is actively checked out. At most the above message should be a warning, not a fatal error.

I think that's a good idea. 

Another thing that I find confusing with this message is that it can be taken to mean that the server does not support fetching "unadvertised objects", i.e. `uploadpack.allow{Tip,Reachable,Any}SHA1InWant` is false, when in fact the object is simply inexistent...

Philippe.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux