From 2b175ca972f2531e5ef46d24abeb831d90033a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Sun, 26 Aug 2012 00:35:52 +0200 Subject: [PATCH] indexer: kill git_indexer_stats.data_received It's not really needed with the current code as we have EOS and the sideband's flush to tell us we're done. Keep the distinction between processed and received objects. --- include/git2/indexer.h | 1 - src/fetch.c | 14 ++++---------- src/indexer.c | 8 -------- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/include/git2/indexer.h b/include/git2/indexer.h index 92d1d9e3a..87f48fe27 100644 --- a/include/git2/indexer.h +++ b/include/git2/indexer.h @@ -20,7 +20,6 @@ typedef struct git_indexer_stats { unsigned int total; unsigned int processed; unsigned int received; - unsigned int data_received; } git_indexer_stats; diff --git a/src/fetch.c b/src/fetch.c index 4c7e82545..278ba3c50 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -306,10 +306,7 @@ static int no_sideband(git_indexer_stream *idx, gitno_buffer *buf, git_off_t *by return -1; *bytes += recvd; - } while(recvd > 0 && stats->data_received); - - if (!stats->data_received) - giterr_set(GITERR_NET, "Early EOF while downloading packfile"); + } while(recvd > 0); if (git_indexer_stream_finalize(idx, stats)) return -1; @@ -374,13 +371,10 @@ int git_fetch__download_pack( git__free(pkt); break; } - } while (!stats->data_received); + } while (1); - if (!stats->data_received) - giterr_set(GITERR_NET, "Early EOF while downloading packfile"); - - if (git_indexer_stream_finalize(idx, stats)) - return -1; + if (git_indexer_stream_finalize(idx, stats) < 0) + goto on_error; git_indexer_stream_free(idx); return 0; diff --git a/src/indexer.c b/src/indexer.c index 719f54e24..85ffb161f 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -383,14 +383,6 @@ int git_indexer_stream_add(git_indexer_stream *idx, const void *data, size_t siz stats->received++; } - /* - * If we've received all of the objects and our packfile is - * one hash beyond the end of the last object, all of the - * packfile is here. - */ - if (stats->received == idx->nr_objects && idx->pack->mwf.size >= idx->off + 20) - stats->data_received = 1; - return 0; on_error: