Se um git pull continuar sendo abortado no meio, será que ele será bem-sucedido?

2

Acabei de usar o SparkleShare para sincronizar meus documentos entre computadores. O SparkleShare usa o Git para quase tudo. Meus primeiros commits são grandes: vários gigabytes cada. Eles foram enviados para o servidor Git com sucesso.

Minha rede doméstica é muito esquisita agora, então meu segundo computador está tendo dificuldades para concluir o git pull: a conexão de rede é interrompida no meio.

Minha pergunta: se o segundo computador continuar tentando puxar um único changeset gigante, ele terá sucesso? É uma ação cumulativa ou perde o seu lugar quando a conexão de rede é abortada?

Pelo pouco que eu sei sobre o protocolo do Git, parece que o pull faz um progresso geral cada vez que ele baixa com sucesso cada blob (arquivo). Commits são apenas pequenos arquivos que apontam para os blobs. Então, eu suspeito que o segundo PC acabará se sincronizando, apesar da rede escamosa, a menos que a rede seja tão esquisita que o PC nunca tenha a oportunidade de baixar um único blob por completo. Mas eu gostaria de alguma confirmação.

    
por Philip 21.01.2013 / 15:09

1 resposta

1

git pull é simplesmente açúcar de sintaxe para executar git fetch e, em seguida, git merge . git fetch downloads comete individualmente, portanto, a execução de git pull novamente deve continuar de onde você parou, já que o git não precisa baixar novamente os blobs que ele já baixou.

    
por 17.12.2013 / 03:59

Tags