merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
26
third_party/git/contrib/stats/git-common-hash
vendored
Executable file
26
third_party/git/contrib/stats/git-common-hash
vendored
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script displays the distribution of longest common hash prefixes.
|
||||
# This can be used to determine the minimum prefix length to use
|
||||
# for object names to be unique.
|
||||
|
||||
git rev-list --objects --all | sort | perl -lne '
|
||||
substr($_, 40) = "";
|
||||
# uncomment next line for a distribution of bits instead of hex chars
|
||||
# $_ = unpack("B*",pack("H*",$_));
|
||||
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;
|
||||
}
|
||||
'
|
||||
Loading…
Add table
Add a link
Reference in a new issue