On Thu, Dec 11, 2014 at 11:26:47AM -0800, Junio C Hamano wrote: > The right approach would be more like allocating one more bit in > struct rev_info (call that edge_hint_aggressive), give a new option > "--objects-edge-aggressive", and do something like > > if (thin) { > use_internal_rev_list = 1; > argv_array_push(&rp, is_repository_shallow() > ? "--objects-edge-aggressive" > : "--objects-edge"); > } > > in this codepath? I'd actually suggest is_repository_shallow() > detection to happen one level even higher (i.e. make decision at the > caller of pack-objects) and decide to pass either "--thin" or > "--thin-aggressive", so that we can make sure that the damage caused > by fbd4a70 to be limited only to fetches into shallow repository > with stronger confidence. Sorry it's taken me so long to get back to this. Real life keeps getting in the way. I think adding --objects-edge-aggressive is the best way forward here and then applying the patch above. If we add --thin-aggressive, we push the problem to a higher level, which will require more code changes and make the performance regression continue to affect external remote helpers, which we don't want. We know what the right decision is here, so let's just do it. -- brian m. carlson / brian with sandals: Houston, Texas, US +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
Attachment:
signature.asc
Description: Digital signature