>>>>> "Randal" == Randal L Schwartz <merlyn@xxxxxxxxxxxxxx> writes: Randal> git-rev-list --objects HEAD | sort | perl -lne ' Randal> substr($_, 40) = ""; Randal> if (defined $p) { Randal> ($p ^ $_) =~ /^(\0*)/; Randal> $common = length $1; Randal> if (defined $pcommon) { Randal> $count[$pcommon > $common ? $pcommon : $common]++; Randal> } Randal> } Randal> $p = $_; Randal> $pcommon = $common; Randal> END { print "$_: $count[$_]" for 0..$#count } Randal> ' And that's off by one on either end. :) git-rev-list --objects HEAD | sort | perl -lne ' substr($_, 40) = ""; if (defined $p) { ($p ^ $_) =~ /^(\0*)/; $common = length $1; if (defined $pcommon) { $count[$pcommon > $common ? $pcommon : $common]++; } else { $count[$common]++; # first item } } $p = $_; $pcommon = $common; END { $count[$common]++; # last item print "$_: $count[$_]" for 0..$#count; } ' Which now yields: 0: 1: 2: 6 3: 21155 4: 15008 5: 1232 6: 90 7: 8: 2 And *that* totals to 37493, which is the number of objects. Yeay. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <merlyn@xxxxxxxxxxxxxx> <URL:http://www.stonehenge.com/merlyn/> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html