summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2012-08-26 00:35:52 +0200
committerCarlos Martín Nieto <carlos@cmartin.tk>2012-08-26 00:42:28 +0200
commit2b175ca972f2531e5ef46d24abeb831d90033a33 (patch)
tree873955c2c00479a19396406c77f805a5545845cc
parentcc1d85d1da7fd0e51ea0e3ddfbe516c043c95731 (diff)
downloadlibgit2-2b175ca972f2531e5ef46d24abeb831d90033a33.tar.gz
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.
-rw-r--r--include/git2/indexer.h1
-rw-r--r--src/fetch.c14
-rw-r--r--src/indexer.c8
3 files changed, 4 insertions, 19 deletions
diff --git a/include/git2/indexer.h b/include/git2/indexer.h
index 92d1d9e3..87f48fe2 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 4c7e8254..278ba3c5 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);
-
- if (!stats->data_received)
- giterr_set(GITERR_NET, "Early EOF while downloading packfile");
+ } while (1);
- 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 719f54e2..85ffb161 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: