GIT Error : RPC failed; curl 18 transfer closed with outstanding read data remaining
If you are in this page, then it is surely because you have come accross the following error when you are trying to clone a repository (which is large with or without knowing for yor visibility and knowledge)
$ git clone https://github.com/******/test_repo.git
Cloning into 'test_repo'...
remote: Enumerating objects: 24587, done.
remote: Counting objects: 100% (793/793), done.
remote: Compressing objects: 100% (329/329), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
error: 2006 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
Following will be the fix / solution to by pass through the error and get the repository cloned.
Step 1: Shallow the clone : git clone <Repo Link> — depth 1
$ git clone http://github.com/******/test_repo.git --depth 1
Cloning into 'test_repo'...
warning: redirecting to https://github.com/******/test_repo/
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (193/193), done.
remote: Total 242 (delta 10), reused 123 (delta 2), pack-reused 0
Receiving objects: 100% (242/242), 29.77 MiB | 214.00 KiB/s, done.
Resolving deltas: 100% (10/10), done.
Step 2: Navigate in the local repository folder
$ cd test_repo/
Step 3: Enter fetch — unshallow
$ git fetch --unshallow
warning: redirecting to https://github.com/******/test_repo.git/
remote: Enumerating objects: 22668, done.
remote: Counting objects: 100% (22668/22668), done.
remote: Compressing objects: 100% (6380/6380), done.
remote: Total 22478 (delta 12032), reused 22165 (delta 11750), pack-reused 0
Receiving objects: 100% (22478/22478), 20.98 MiB | 210.00 KiB/s, done.
Resolving deltas: 100% (12032/12032), completed with 116 local objects.
warning: redirecting to https://github.com/*****/test_repo.git/
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
From http://github.com/******/test_repo
* [new tag] 2.2.0 -> 2.2.0
* [new tag] 2.2.1 -> 2.2.1
* [new tag] 2.2.2 -> 2.2.2
* [new tag] 3.0.0 -> 3.0.0
* [new tag] 3.0.1_beta -> 3.0.1_beta
Reason for this would be mostly due to when you have happened to clone a large repository from a slow internet connection, and the connection tends to close.