X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Flib-httpd.sh;h=da4b8d5a6fbf18adac103a5a6dd26ea3498c178f;hb=2c177a1ca1b82ee6cbaa32521da75b8b1c137a73;hp=28aff887b5a92ec5919f4005010ef64f85d908e9;hpb=daaf2e8892cf3b652454c48ffd332e3c5b446b92;p=git.git diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh index 28aff887b..da4b8d5a6 100644 --- a/t/lib-httpd.sh +++ b/t/lib-httpd.sh @@ -131,3 +131,32 @@ stop_httpd() { "$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \ -f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop } + +test_http_push_nonff() { + REMOTE_REPO=$1 + LOCAL_REPO=$2 + BRANCH=$3 + + test_expect_success 'non-fast-forward push fails' ' + cd "$REMOTE_REPO" && + HEAD=$(git rev-parse --verify HEAD) && + + cd "$LOCAL_REPO" && + git checkout $BRANCH && + echo "changed" > path2 && + git commit -a -m path2 --amend && + + !(git push -v origin >output 2>&1) && + (cd "$REMOTE_REPO" && + test $HEAD = $(git rev-parse --verify HEAD)) + ' + + test_expect_success 'non-fast-forward push show ref status' ' + grep "^ ! \[rejected\][ ]*$BRANCH -> $BRANCH (non-fast-forward)$" output + ' + + test_expect_success 'non-fast-forward push shows help message' ' + grep "To prevent you from losing history, non-fast-forward updates were rejected" \ + output + ' +}