web-dev-qa-db-fra.com

Erreur de clonage Git: RPC a échoué; résultat = 56, code HTTP = 200

J'essaie de cloner un référentiel distant (privé) mais je reçois l'erreur suivante:

 remote: Counting objects: 11410, done
 remote: Finding sources: 100% (11410/11410)
 remote: Getting sizes: 100% (9178/9178)
 error: RPC failed; result=56, HTTP code = 200
 error: inflate: data stream error (invalid block type)
 fatal: pack has bad object at offset 427781: inflate returned -3

J'utilise Git version 1.9.4 sur Windows 8 Pro Build 9200. Il y a des fichiers volumineux sur ce référentiel, mais la taille du fichier ne semble pas être liée à mon problème car je reçois toujours la même erreur lorsque j'essaie de cloner un autre référentiel plus petit (<20 Mo avec AppHarbor). Des idées ?

10
Oleh

Mon administrateur système a compris que le problème venait d’Avast. Si vous rencontrez le même problème et que vous utilisez Avast, essayez de le désactiver. Cela a résolu mon problème.

8
Oleh

Les binaires git que j'ai trouvés dans Ubuntu et Debian ont tous deux ce bogue. Cela est dû à un bogue dans GnuTLS contre lequel git est compilé (suivi ici ). Il est tout simplement impossible de cloner un dépôt Git dans Ubuntu ou Debian avec une URL HTTPS.

Vous avez deux options:

  1. Cloner le repo en utilisant SSH
  2. Recompiler git contre libcurl4-openssl-dev (libcurl4-gnutls-dev n'a pas fonctionné pour moi)

Si vous optez pour l’option n ° 2, voici un copier/coller pour recompiler le dernier git sur debian ou ubuntu. La dernière version de git est trouvée ici .

apt-get update \
&& apt-get install -y build-essential libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev autoconf \
&& wget https://github.com/git/git/archive/v2.8.1.tar.gz -O git.tar.gz \
&& tar -zxf git.tar.gz \
&& cd git-* \
&& make configure \
&& ./configure --prefix=/usr  \
&& make install
4
gogstad

Je l'ai résolu en utilisant SSH pour effectuer le clone. Solution trouvée ici .

Pour utiliser SSH avec Bitbucket, vous créez une identité SSH. Une identité consiste en une clé privée et une clé publique qui forment ensemble une paire de clés. La clé privée réside sur votre ordinateur local et le public que vous téléchargez sur votre compte Bitbucket. Une fois que vous avez téléchargé une clé publique sur votre compte, vous pouvez utiliser SSH pour vous connecter aux référentiels que vous possédez et aux référentiels appartenant à d'autres personnes, à condition que ces autres propriétaires accordent des autorisations à votre compte. En configurant SSH entre votre système local et le serveur Bitbucket, votre système utilise la paire de clés pour automatiser l'authentification. vous n'aurez pas besoin d'entrer votre mot de passe chaque fois que vous interagissez avec votre référentiel Bitbucket.

Voici comment Configurer SSH pour Git .

0
Mukesh Chapagain