web-dev-qa-db-fra.com

erreur: RPC a échoué; transfert curl fermé avec restantes données de lecture

J'essaie de cloner un dépôt à partir de GitLab (GitLab 6.6.2 4ef8369) et une erreur:

 enter image description here

remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

Comment éviter cette erreur? 

64
foobarfuu

Après quelques jours, aujourd'hui, je viens de résoudre ce problème. Générez la clé ssh, suivez cet article:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Le déclarer à 

  1. Fournisseur Git (GitLab ce que j'utilise, GitHub).
  2. Ajoutez ceci à l'identité locale.

Puis clonez par commande:

git clone [email protected]:my_group/my_repository.git

Et aucune erreur ne se produit.

Le problème ci-dessus

erreur: RPC a échoué; transfert 18 fermé avec données de lecture en attente restant

car avoir une erreur lors du clonage par protocole HTTP (commande curl).

Et, vous devriez augmenter la taille du tampon:

git config --global http.postBuffer 524288000
32
foobarfuu

Cela arrive plus souvent qu'autrement, je suis sur une connexion Internet lente et je dois cloner un dépôt git décemment énorme. Le problème le plus courant est que la connexion se ferme et que le clone entier est annulé.

Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining 
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

Après beaucoup d'essais et d'erreurs et beaucoup de «fin distante raccrochée de manière inattendue», j'ai un moyen qui fonctionne pour moi. L'idée est de faire un clone peu profond d'abord, puis de mettre à jour le dépôt avec son historique.

$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
93
Khader M A

Quand j'ai essayé de cloner de la télécommande, j'ai eu le même problème à plusieurs reprises:  

remote: Counting objects: 182, done.
remote: Compressing objects: 100% (149/149), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

Enfin cela a fonctionné pour moi:

git clone https://[email protected]/repositoryName.git --depth 1
7
Purushottam Padhya

Comme mentionné ci-dessus, lancez tout d'abord votre commande git de bash en ajoutant les directives de journal améliorées au début: GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...

par exemple. GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch Origin Cela vous montrera des informations d'erreur détaillées.

4
Sergey Gindin

Problèmes de connexion au réseau.
Peut-être en raison du délai de connexion persistant.
Le meilleur moyen est de changer de réseau.

2
Yang

Solution simple: Plutôt que de cloner via https, clonez-le via ssh.

Par exemple:

git clone https://github.com/vaibhavjain2/xxx.git - Avoid
git clone [email protected]:vaibhavjain2/xxx.git - Correct
0
Vaibhav Jain

Avec moi, ce problème est dû à la configuration du proxy. J'ai ajouté le serveur ip git dans l'exception de proxy . Le serveur git était local, mais la variable d'environnement no_proxy n'était pas définie correctement.

J'ai utilisé cette commande pour identifier le problème:

#Linux:
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

En retour, il y avait la "Proxy-Authorization", le serveur git étant sur place ne devrait pas passer par le proxy . Mais le vrai problème était la taille des fichiers définis par les règles du proxy

0
Francisco Eduardo

Ces étapes fonctionnent pour moi: Https: // à la place de git: //

0
Jinwawa

Changer le protocole de git clone pour essayer. 

par exemple, cette erreur s'est produite lorsque "git clone https: // xxxxxxxxxxxxxxx "

vous pouvez essayer avec "git clone git: // xxxxxxxxxxxxxxx", peut-être alors.

0
Bingnan

J'ai essayé toutes les réponses ici. J'essayais d'ajouter des cocoapodes sur ma machine.

Je n'avais pas de clé SSH alors merci @ Do Nhu Vy

https://stackoverflow.com/a/38703069/2481602

Et finalement utilisé

git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

pour résoudre finalement le problème trouvé https://stackoverflow.com/a/50959034/2481602

0
MindBlower3