git fatal: o pacote tem 1 delta não resolvido (index-pack falhou)

3

Eu tenho um problema MUITO estranho e não tão coberto com um Windows Build Server específico (Jenkins Slave).

No Jenkins, tenho um Job que extrai o código mais recente de um ramo específico.

O comando atual que o git está tentando executar é:

git fetch -t origin +refs/heads/*:refs/remotes/origin/*

Antes de algumas horas, depois de trabalhar bem por 1 mês, de repente, o trabalho falha com este erro:

ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
hudson.plugins.git.GitException: Command "C:\Program Files (x86)\Git\bin\git.exe fetch -t origin +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: pack has 1 unresolved delta
fatal: index-pack failed

Eu tentei encontrar alguns posts sobre isso na web, mas nada apareceu ...

Coisas que eu já tentei:

  1. Desinstale o git e instale novamente
  2. Exclua o espaço de trabalho (que também é excluído pelo trabalho quando a opção Eliminar é escolhida "
  3. Excluir TODA a área de trabalho do sistema
  4. git fsck - Sem resultados interessantes
  5. git verify-pack - Nenhum resultado interessante
  6. git index-pack + o arquivo de pacote relevante - Também não há resultados interessantes

Mais algumas informações (esperançosamente importantes):

  1. Neste servidor, quando estou trabalhando com o CMD / GitBash - o mesmo problema persiste
  2. De outros servidores / PC, eu posso executar este comando com o mesmo git Repo que me causa problemas ...
  3. Outras tarefas que funcionam com diferentes Git Repo no SAME build Server funcionam fluentemente.

Estou perdido. Alguém pode lançar alguma luz sobre isso?

    
por GorovDude 22.04.2013 / 14:46

2 respostas

2

A causa raiz de toda essa bagunça ainda é desconhecida para mim.

Mas agora consegui superá-lo desta maneira:

No Job Jenkins, sob a configuração do Git SCM, os seguintes atrasos estavam em:

  1. Limpe o espaço de trabalho antes de criar
  2. Use um clone superficial

Remover os dois deles resolveu o problema.

Depois, é possível colocá-los de volta e ainda funcionará.

ESTRANHO !!!

    
por 22.04.2013 / 18:26
1

Uma razão que eu tive este problema foi o git clone foi feito 'superficial', portanto, não tem o histórico completo de comissões (portanto, buscar não podia ver o histórico completo para calcular deltas).

Verifique o log do Git na árvore de trabalho que você está tentando buscar, ele não deve ter o histórico completo - o meu tinha apenas alguns commits listados, e o mais antigo da lista dizia que ele estava adicionando um 'novo arquivo' para todos os arquivos no repo - um squashed eu acho.

Certifique-se de que nenhuma variável GIT_DEPTH esteja definida e, em seguida,

git pull --unshallow

ou

git pull 

e tente buscar novamente.

    
por 21.01.2015 / 11:51