t / diff-lib.shon commit git-branch -D: make it work even when on a yet-to-be-born branch (67affd5)
   1:
   2
   3_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
   4_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
   5sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*   / X X \1#       /'
   6compare_diff_raw () {
   7    # When heuristics are improved, the score numbers would change.
   8    # Ignore them while comparing.
   9    # Also we do not check SHA1 hash generation in this test, which
  10    # is a job for t0000-basic.sh
  11
  12    sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
  13    sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
  14    diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
  15}
  16
  17sanitize_diff_raw_z='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
  18compare_diff_raw_z () {
  19    # When heuristics are improved, the score numbers would change.
  20    # Ignore them while comparing.
  21    # Also we do not check SHA1 hash generation in this test, which
  22    # is a job for t0000-basic.sh
  23
  24    tr '\0' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
  25    tr '\0' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
  26    diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
  27}
  28
  29compare_diff_patch () {
  30    # When heuristics are improved, the score numbers would change.
  31    # Ignore them while comparing.
  32    sed -e '
  33        /^[dis]*imilarity index [0-9]*%$/d
  34        /^index [0-9a-f]*\.\.[0-9a-f]/d
  35    ' <"$1" >.tmp-1
  36    sed -e '
  37        /^[dis]*imilarity index [0-9]*%$/d
  38        /^index [0-9a-f]*\.\.[0-9a-f]/d
  39    ' <"$2" >.tmp-2
  40    diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
  41}