{"thread":{"id":"31769","subject":"git clone algorithm","startedAt":"2012-10-09T17:23:35Z","lastAt":"2012-10-10T01:13:43Z","messageCount":2,"participants":["Bogdan Cristea","Sitaram Chamarty"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"200846","messageId":"loom.20121009T192043-666@post.gmane.org","threadId":"31769","inReplyTo":null,"subject":"git clone algorithm","fromName":"Bogdan Cristea","fromEmail":"cristeab@gmail.com","sentAt":"2012-10-09T17:23:35Z","receivedAt":"2012-10-09T17:23:35Z","isPatch":false,"sender":{"key":"cristeab@gmail.com","avatar":null},"body":"I have already posted this message on git-users@googlegroups.com but I have been \nadvised to rather use this list. I know that there is a related thread \n(http://thread.gmane.org/gmane.comp.version-control.git/207257), but I don't \nthink that this provides an answer to my question (me too I am on a slow 3G \nconnection :))\n\nI am wondering what algorithm is used by git clone command ? \nWhen cloning from remote repositories, if there is a link failure and\nthe same command is issued again, the process should be smart enough\nto figure out what objects have been already transferred locally and\nrestart the cloning process from the point it has been interrupted.\nAs far as I can tell this is not the case, each time I have restarted\nthe cloning process everything started from the beginning. This is\nextremely annoying with slow, unreliable connections. Are there any\nways to cope with this situation or any future plans ?\n"},{"id":"200872","messageId":"CAMK1S_hziqqMiSrO--_=6rX4k9gj16KGjtdXQ-0QEgeCMWU8oQ@mail.gmail.com","threadId":"31769","inReplyTo":"loom.20121009T192043-666@post.gmane.org","subject":"Re: git clone algorithm","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2012-10-10T01:13:43Z","receivedAt":"2012-10-10T01:13:43Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On Tue, Oct 9, 2012 at 10:53 PM, Bogdan Cristea <cristeab@gmail.com> wrote:\n> I have already posted this message on git-users@googlegroups.com but I have been\n> advised to rather use this list. I know that there is a related thread\n> (http://thread.gmane.org/gmane.comp.version-control.git/207257), but I don't\n> think that this provides an answer to my question (me too I am on a slow 3G\n> connection :))\n>\n> I am wondering what algorithm is used by git clone command ?\n> When cloning from remote repositories, if there is a link failure and\n> the same command is issued again, the process should be smart enough\n> to figure out what objects have been already transferred locally and\n> restart the cloning process from the point it has been interrupted.\n> As far as I can tell this is not the case, each time I have restarted\n> the cloning process everything started from the beginning. This is\n> extremely annoying with slow, unreliable connections. Are there any\n> ways to cope with this situation or any future plans ?\n\nThis is not an answer to your question in the general case, sorry...\n\nAdmins who are managing a site using gitolite can set it up to\nautomatically create and maintain \"bundle\" files, and allow them to be\ndownloaded using rsync (which, as everyone knows, is resumable), using\nthe same authentication and access rules as gitolite itself.  Once you\nadd a couple of lines to the gitolite.conf, it's all pretty much\nself-maintaining.\n"}]}