author | Junio C Hamano <gitster@pobox.com> | |
Fri, 16 Mar 2012 15:23:53 +0000 (08:23 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 16 Mar 2012 15:23:53 +0000 (08:23 -0700) |
The code to validate the history connectivity between old refs and new
refs used by fetch and receive-pack, introduced in 1.7.8, was grossly
inefficient and unnecessarily tried to re-validate integrity of individual
objects. This essentially reverts that performance regression.
* jc/maint-verify-objects-remove-pessimism:
fetch/receive: remove over-pessimistic connectivity check
refs used by fetch and receive-pack, introduced in 1.7.8, was grossly
inefficient and unnecessarily tried to re-validate integrity of individual
objects. This essentially reverts that performance regression.
* jc/maint-verify-objects-remove-pessimism:
fetch/receive: remove over-pessimistic connectivity check
connected.c | patch | blob | history |
diff --git a/connected.c b/connected.c
index d7624230d435ded5ef7ba126ef77ab0e888af19b..1e89c1cd1d63f160bf7c95de41be61ff2d888e70 100644 (file)
--- a/connected.c
+++ b/connected.c
/*
* If we feed all the commits we want to verify to this command
*
- * $ git rev-list --verify-objects --stdin --not --all
+ * $ git rev-list --objects --stdin --not --all
*
* and if it does not error out, that means everything reachable from
- * these commits locally exists and is connected to some of our
- * existing refs.
+ * these commits locally exists and is connected to our existing refs.
+ * Note that this does _not_ validate the individual objects.
*
* Returns 0 if everything is connected, non-zero otherwise.
*/
int check_everything_connected(sha1_iterate_fn fn, int quiet, void *cb_data)
{
struct child_process rev_list;
- const char *argv[] = {"rev-list", "--verify-objects",
+ const char *argv[] = {"rev-list", "--objects",
"--stdin", "--not", "--all", NULL, NULL};
char commit[41];
unsigned char sha1[20];