web-dev-qa-db-fra.com

Pourquoi git n'arrête-t-il pas de me dire que c'est "Emballer automatiquement le référentiel en arrière-plan pour des performances optimales"?

Remarque : Je ne pense pas que c'est une copie de - cette question , qui parle d'un pack sans arrière-plan qui se bloque git avec un message d'erreur légèrement différent.


Dans l'un de mes référentiels git, chaque fois que j'appelle (par exemple) git fetch, impressions git:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual Housekeeping.

Il semble imprimer à chaque fois si je fais un git fetch à plusieurs reprises, même en l’absence de modifications et de rien pour git fetch faire. Cela n'a pas beaucoup de sens pour moi. Cela semble également se produire avec d’autres opérations réseau, telles que git Push et git pull.

La commande retourne instantanément à l'invite sans autre sortie et je ne trouve aucun processus git en cours d'exécution sur ma machine. Cela semble se produire uniquement avec ce référentiel et uniquement sur cette machine. git config -l | grep gc ne retourne rien.

Que puis-je faire pour diagnostiquer ou résoudre ce problème?

$ git --version 
git version 2.0.1

J'utilise OS X 10.9.

81
Andrew Ferrier

J'ai trouvé la solution à partir du deuxième commentaire que vous avez fourni, Trengot, merci. Il s’avère que j’ai eu quelques blobs pendantes, qui étaient dans .git/objects/17 Et qui ont donc déclenché l’emballage:

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

Cela les a nettoyés:

$ git gc --Prune=now

Soyez conscient, selon le commentaire de Henrik ci-dessous, cela peut être un peu dangereux. Prends soin!

140
Andrew Ferrier