diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-03-16 08:23:53 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-16 08:23:53 -0700 |
commit | c3117b21666f2a68aebd5fce0bcdc4ab705c299a (patch) | |
tree | 792b0327f7c20e81aae23e9d8c545d3c82ce0a0b | |
parent | 9721d2fb10cd81d162248322facdc050433da50f (diff) | |
parent | d21c463d558a1450c2560869193f279fc7ddba4a (diff) | |
download | git-c3117b21666f2a68aebd5fce0bcdc4ab705c299a.tar.gz git-c3117b21666f2a68aebd5fce0bcdc4ab705c299a.tar.xz |
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.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/connected.c b/connected.c index d7624230d..1e89c1cd1 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]; |