t / t5501-post-upload-pack.shon commit upload-pack: add a trigger for post-upload-pack hook (a8563ec)
   1#!/bin/sh
   2
   3test_description='post upload-hook'
   4
   5. ./test-lib.sh
   6
   7LOGFILE=".git/post-upload-pack-log"
   8
   9test_expect_success setup '
  10        test_commit A &&
  11        test_commit B &&
  12        git reset --hard A &&
  13        test_commit C &&
  14        git branch prev B &&
  15        mkdir -p .git/hooks &&
  16        {
  17                echo "#!$SHELL_PATH" &&
  18                echo "cat >post-upload-pack-log"
  19        } >".git/hooks/post-upload-pack" &&
  20        chmod +x .git/hooks/post-upload-pack
  21'
  22
  23test_expect_success initial '
  24        rm -fr sub &&
  25        git init sub &&
  26        (
  27                cd sub &&
  28                git fetch --no-tags .. prev
  29        ) &&
  30        want=$(sed -n "s/^want //p" "$LOGFILE") &&
  31        test "$want" = "$(git rev-parse --verify B)" &&
  32        ! grep "^have " "$LOGFILE"
  33'
  34
  35test_expect_success second '
  36        rm -fr sub &&
  37        git init sub &&
  38        (
  39                cd sub &&
  40                git fetch --no-tags .. prev:refs/remotes/prev &&
  41                git fetch --no-tags .. master
  42        ) &&
  43        want=$(sed -n "s/^want //p" "$LOGFILE") &&
  44        test "$want" = "$(git rev-parse --verify C)" &&
  45        have=$(sed -n "s/^have //p" "$LOGFILE") &&
  46        test "$have" = "$(git rev-parse --verify B)"
  47'
  48
  49test_done