sábado, 23 de fevereiro de 2013

git error: Unable to find - Cannot obtain needed

Salve galera,

Já faz um certo tempo que eu vinha enfrentando alguns problemas com repositórios git no Linux quando acessados pelo Windows via http. Volta e meia eu me deparava com a seguinte mensagem:

error: Unable to find a47058d09b4ca436d65609758a9dba52235a75bd under http://mygitweb.com/git/myapp
Cannot obtain needed blob a47058d09b4ca436d65609758a9dba52235a75bd
while processing commit 041d57dd5bed9d6c75fe7cce944b2b2904ae3a62.
error: Fetch failed.

E por muito tempo, minha solução fou usar o protocolo ssh no lugar de http. Mas isso não me deixava satisfeito. Então, depois de muito "google" descobri um comando que resolvia meus problemas quando esse erro acontecia. Temos que entrar no repositório no servidor e executar o comando:

$ git gc

Depois de execurar, consegui fazer o clone w pull dos repositórios sem problemas. Esse comando executa uma limpeza na base do repositório:

fonte http://www.kernel.org/pub/software/scm/git/docs/git-gc.html
git-gc - Cleanup unnecessary files and optimize the local repository

Ou seja, é recomendado executar esse comando de vez em quando, seja no respositório no servidor ou no repositório local.

Até a próxima.

Nenhum comentário:

Postar um comentário