Como testar se o repositório Git é raso?
Quando eu faço um clone local a partir de um repositório, o clone falha se o repositório de origem for superficial.
git clone -l -- . target-dir
Como esse nem sempre é o caso, eu gostaria de descobrir o clone anterior, mas não sei como fazer isso.
O que eu tentei até agora é muito pouco, basicamente criando mensagens de erro no clone. No momento em que apenas busco desassociar e, se isso falhar, faço uma busca simples, porque se o repo for raso, deve ser desassociado posteriormente:
if ! git fetch --unshallow; then
git fetch
fi
No entanto, não há garantia de não ser raso posteriormente (o controle remoto para buscar também pode ser raso), portanto, um teste para a (des) superficialidade de um repositório git seria muito melhor.