Firefox is hosted on a mercurial repository, and is very large in size (~2GB).
I tried cloning it multiple times using
hg clone, and each I time got either a
stream ended unexpectedly or an
http connection error.
Hence, I tried using the bundle method as per the instructions here. This time, though I was able to get the initial code bundle, I was getting the same errors on pulling further changesets using
The method which finally worked for me was pulling the code chunk by chunk. I wrote the following script to do it for me. The chunk size can be modified as per your connection speed.
start=0 while : do # Using 3000 as the chunk size # Can be adjusted as per your times=`expr $start + 3000` echo Running $times hg pull -r $times https://hg.mozilla.org/mozilla-central start=$times done
Once this ends, (you’ll get a message saying not enough changesets), you can run the following command
$ hg update --clean
And voila, you have your own firefox repo!
Also note that, if you get the same error while running the script, you can modify the variable
start to the last chunk which was fetched(it would be printed to your console) and adjust the chunk size accordingly.