t / t4204-patch-id.shon commit Sync with 1.6.4.2 (f324cb5)
   1#!/bin/sh
   2
   3test_description='git patch-id'
   4
   5. ./test-lib.sh
   6
   7test_expect_success 'setup' '
   8        test_commit initial foo a &&
   9        test_commit first foo b &&
  10        git checkout -b same HEAD^ &&
  11        test_commit same-msg foo b &&
  12        git checkout -b notsame HEAD^ &&
  13        test_commit notsame-msg foo c
  14'
  15
  16test_expect_success 'patch-id output is well-formed' '
  17        git log -p -1 | git patch-id > output &&
  18        grep "^[a-f0-9]\{40\} $(git rev-parse HEAD)$" output
  19'
  20
  21get_patch_id () {
  22        git log -p -1 "$1" | git patch-id |
  23                sed "s# .*##" > patch-id_"$1"
  24}
  25
  26test_expect_success 'patch-id detects equality' '
  27        get_patch_id master &&
  28        get_patch_id same &&
  29        test_cmp patch-id_master patch-id_same
  30'
  31
  32test_expect_success 'patch-id detects inequality' '
  33        get_patch_id master &&
  34        get_patch_id notsame &&
  35        ! test_cmp patch-id_master patch-id_notsame
  36'
  37
  38test_done