jgit - O que é o refs anunciado do git? - estouro de pilha :
During a fetch, the server can list references that it has and that the client may wish to fetch. These are the advertised references.
- Parece que você não pode receber diretamente nenhuma confirmação específica do servidor, apenas refs (ou seja, ramificações e tags). Ou melhor, que os servidores do Github são configurados para não permitir tais solicitações.
-
Então, se você deseja obter um commit específico com
--depth
, ele deve estar no máximo em<depth>-1
commits do ref buscado (que é o branch / tag especificado nos metadados do submódulo)Normalmente, o pessoal aconselha a definir apenas
depth
para um número razoavelmente grande, mas ainda muito menor que o número total de confirmações no repositório - como50
ou100
. Por exemplo.50
é o que o Travis usa ao fazer o clone inicial do projeto.
Se você não estiver atualizando o submódulo com --depth
, não conseguir encontrar o commit significaria qualquer um:
- a árvore do submódulo está no estado "superficial" e o acima se aplica (possível somente quando foi atualizado anteriormente com
--depth
ou sua entrada em.gitmodules
temshallow = true
) - o commit não está na ramificação que o submódulo está usando
- o commit não está no repositório do submódulo:
- ou alguém cometeu um erro,
- ou já esteve lá, mas foi excluído por um push forçado
Para o registro, no seu caso específico, foi o último caso: commit 5bbcdc5df9d01b521e8da011bab0da70bdec3653
não está no https://github.com/simsong/http-parser.git
repo.