Jonathan Nieder <jrnieder@xxxxxxxxx> writes: >> @@ -1755,8 +1756,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix) >> >> packet_trace_identity("fetch"); >> >> - fetch_if_missing = 0; >> - > > This is the scary part, but in an "uncomfortably exciting" sense rather > than a worrying one. Thanks for adding a test. > > [...] >> --- a/fetch-pack.c >> +++ b/fetch-pack.c >> @@ -673,7 +673,8 @@ static void mark_complete_and_common_ref(struct fetch_negotiator *negotiator, >> struct object *o; >> >> if (!has_object_file_with_flags(&ref->old_oid, >> - OBJECT_INFO_QUICK)) >> + OBJECT_INFO_QUICK | >> + OBJECT_INFO_SKIP_FETCH_OBJECT)) > > Should we make OBJECT_INFO_QUICK always imply > OBJECT_INFO_SKIP_FETCH_OBJECT? I would suspect that if we are willing to > avoid checking thoroughly locally, checking remotely would be even more > undesirable. I think I've seen this mentioned a few times during this cycle in the list archive ;-) >> + for i in $(seq 1 100) >> + do >> + echo line $i >>big-blob.txt >> + done && > > Should this use test_seq for better portability? Yup. > nit: can avoid a subshell: > > test_seq 1 100 | sed -e 's/^/line /' >big-blob.txt Yeah, but it costs process start-up and "sed" that may be rather heavyweight. At least for i in $(test_seq ...) do echo line $i done >big-blob.txt would save repeated opening and closing the file, I'd think. >> + git hash-object big-blob.txt >hash && >> + grep "want $(cat hash)" trace > > nit: can avoid using cat: > > hash=$(git hash-object big-blob.txt) && > grep "want $hash" trace > > Thanks and hope that helps, Thanks, both.