I wonder what's the problem with implementing clone resume after an error in Git.
Follow

@a1batross Id imagine the big problem being that it has no way of knowing if the repo changed since the first clone started and failed. Normally the server would handle that by temporarily cacheing a complete copy of the repo whent he clone starts but it discards that cache the second the connection drops. someone may have changed the repo in the time it akes you to resume.

@freemo yeah I think over HTTP protocol (which is the reason why I can't fetch some repos) it's impossible to keep up with the changes.

@a1batross In theory its possible even under ssh, the problem is it would require a significant change to the standard around a clone

@tuxcrafting @freemo then it's like --depth=1 fetching. Not ideal, helps only on well-organized repos.

@a1batross

This is exactly what I was going to say, you can already do it incrementally by just pulling down at depth=1 and then expand the depth incrementally till you have a full clone. But this would be slow as balls which is the very reason clone doesnt work this way.

@tuxcrafting

@a1batross

I'd imagine clone resuming isnt really worth the effort considering that it should be rarely needed.

GIT repos are by design suppose to be small. The first rule of git repos is you only check non-binary small size content (ideally). So if you are cloning a repo and the repo is of a particularly large size then you are probably misusing GIT int he first place.

@tuxcrafting

@freemo @tuxcrafting Linux kernel repository is not so small however I didn't had problem cloning it.

@a1batross

True, but that is probably at the uppermost limit of what any reasonable repo can be.. and keep in mind we are talking about a very hold and very large project, unlike the vast majority of projects... Still 100 MB in todays day and age of broadband isnt really that big IMO.

@tuxcrafting

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.