web-dev-qa-db-fra.com

Git, erreur: échec du décompression à distance: impossible de créer un répertoire d'objets temporaire - en créant une nouvelle branche

Bonne journée.

J'essaie de créer une nouvelle branche dans mon référentiel.

J'ai fabriqué ça:

Événements de la branche Git

Événements Git Checkout

Ça a marché. J'ai donc changé quelques fichiers et fait

Statut Git

Git add --all

Git Commit -m "Commit"

Cela a bien fonctionné mais j'ai essayé de le pousser et cela n'a pas fonctionné:

Événements Git Push -u Origin

C'est l'erreur:

Énumération des objets: 9, terminé.
Comptage d'objets: 100% (9/9), fait.
Compression Delta utilisant jusqu'à 4 threads.
Compression d'objets: 100% (5/5), fait.
Écriture d'objets: 100% (5/5), 716 octets | 716,00 Kio/s, fait.
Total 5 (delta 4), réutilisé 0 (delta 0)
erreur: échec du décompression à distance: impossible de créer un répertoire d'objets temporaire
À http: //git.int.censoredlink/scm/freeb/freebrep.git
! [événements rejetés à distance] -> événements (erreur de décompression)
Erreur : échec de l'envoi de certaines références à ' http: //[email protected]/scm/freeb/freebrep.git '

Je ne sais pas pourquoi ça ne marche pas.

J'ai des droits d'administrateur sur le Repo. J'ai censuré le lien vers le dépôt car c'est un dépôt stagiaire avec un lien privé, j'espère que ça va.

J'espère que quelqu'un pourra m'aider.

9
Störungs Sucher

Ce message d'erreur:

error: remote unpack failed: unable to create temporary object directory

indique que le référentiel Git sur le serveur (pas votre Git) est à court d'espace ou rencontre des problèmes de serveur similaires,1 ou mal installé. C'est-à-dire, étant donné:

To: http://git.int.censoredlink/scm/freeb/freebrep.git

vous devrez vous connecter à la machine qui gère le trafic HTTP à git.int.censoredlink, descendez vers le scm/freeb/freebrep.git et corrigez l'installation à cet endroit. C'est très probablement un problème d'autorisations: le Git récepteur doit pouvoir créer, dans la zone des objets, un répertoire nommé incoming-XXXXXX avec les Xs remplacés par un identifiant unique, puis créez dans ce répertoire un sous-répertoire pack.

Tous les objets entrants et les fichiers pack sont placés dans ces répertoires, dans une sorte de procédure de quarantaine, jusqu'à ce que les hooks Git côté serveur soient satisfaits des demandes de mise à jour du nom de référence. Si le push échoue, le répertoire de quarantaine est simplement supprimé. Si la transmission réussit, les objets mis en quarantaine et/ou les fichiers de pack sont migrés (et les packs légers ajustés) dans la zone de stockage d'objets normale. Notez que la migration peut échouer même si le processus de quarantaine réussit; mais si c'est le cas, vous obtenez une erreur différente signalée au client. (Cette erreur doit également être corrigée sur le serveur.)

Remarque: il est plutôt inhabituel de pousser pour http:// plutôt que https:// ou ssh:// URL. Inspectez la configuration de votre serveur pour voir à qui appartiendront les différents fichiers ainsi créés et quelles autorisations le serveur Web aura.


1Si un disque dur tombe en panne, Linux marque parfois le lecteur et/ou ses systèmes de fichiers en lecture seule. Ou, même si vous avez de l'espace disque, vous pouvez manquer d'inodes. Un certain nombre de causes profondes différentes entraîneront toutes le même comportement observé de la part de votre client. Si vous êtes un administrateur Linux vérifiant un serveur, recherchez les messages du journal système et considérez à la fois df et df -i production.

9
torek

J'ai été redirigé ici à cause de ce message d'erreur.

erreur: le décompactage à distance a échoué: impossible de créer un répertoire d'objets temporaire

FYI: Cela peut également se produire lorsque vous montez le répertoire git en lecture seule

par exemple x.x.x.x:/nas/git on /mnt/git type nfs (ro,.....

1
Ken Fallon

J'ai rencontré la même erreur lorsque j'ai essayé de pousser vers "serveur git censuré". Le problème était du côté serveur. Vous pouvez attendre un certain temps jusqu'à ce que le serveur se reconnecte correctement ou contactez simplement l'administrateur pour le réparer :)

0
Raj Salla

J'obtenais la même erreur jusqu'à ce que je supprime un sous-répertoire .git dans le référentiel git distant.

Le sous-répertoire .git n'était pas accessible en écriture par le compte de connexion git. Initialement, j'ai eu un problème d'autorisations lors de la tentative de validation et je soupçonne que le sous-répertoire .git a été créé à ce moment-là.

0
jal