Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just started using SparkleShare to sync my documents between computers. SparkleShare uses Git for almost everything. My initial few commits are large: several gigabytes each. They got pushed to the Git server successfully.

My home network is very flaky now, so my second computer is having a hard time completing the git pull: the network connection aborts partway through.

My question: if the second computer keeps trying to pull a single giant changeset, will it eventually succeed? Is it a cumulative action, or does it lose its place when the network connection is aborted?

From what little I know of Git's protocol, it seems that the pull makes overall progress each time it successfully downloads each blob (file). Commits are merely small files that point at the blobs. So I suspect that the second PC will eventually synchronize despite the flaky network, unless the network is so flaky that the PC never gets the opportunity to download a single blob in full. But I would like some confirmation.

share|improve this question
up vote 1 down vote accepted

git pull is simply syntax sugar for running git fetch and then git merge. git fetch downloads commits individually, so running git pull again should continue from where you left off, since git doesn't need to re-download the blobs that it already downloaded.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .