summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-03-16 08:23:53 -0700
committerJunio C Hamano <gitster@pobox.com>2012-03-16 08:23:53 -0700
commitc3117b21666f2a68aebd5fce0bcdc4ab705c299a (patch)
tree792b0327f7c20e81aae23e9d8c545d3c82ce0a0b
parent9721d2fb10cd81d162248322facdc050433da50f (diff)
parentd21c463d558a1450c2560869193f279fc7ddba4a (diff)
downloadgit-c3117b21666f2a68aebd5fce0bcdc4ab705c299a.tar.gz
Merge branch 'jc/maint-verify-objects-remove-pessimism'
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
-rw-r--r--connected.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/connected.c b/connected.c
index d7624230d4..1e89c1cd1d 100644
--- a/connected.c
+++ b/connected.c
@@ -6,18 +6,18 @@
/*
* 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];