diff options
authorJunio C Hamano <>2012-03-16 15:23:53 (GMT)
committerJunio C Hamano <>2012-03-16 15:23:53 (GMT)
commitc3117b21666f2a68aebd5fce0bcdc4ab705c299a (patch)
parent9721d2fb10cd81d162248322facdc050433da50f (diff)
parentd21c463d558a1450c2560869193f279fc7ddba4a (diff)
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
1 files changed, 4 insertions, 4 deletions
diff --git a/connected.c b/connected.c
index d762423..1e89c1c 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];