diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-08-15 15:08:27 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-08-15 15:08:27 -0700 |
commit | dd4ab3eaaa46e896ccbada61799f825011601cb0 (patch) | |
tree | 8099fbdfa0ecd8c3430441fbb671e7cd6882410c /t | |
parent | Merge branch 'js/vscode' (diff) | |
parent | git-p4: add the `p4-pre-submit` hook (diff) | |
download | tgif-dd4ab3eaaa46e896ccbada61799f825011601cb0.tar.xz |
Merge branch 'cb/p4-pre-submit-hook'
"git p4 submit" learns to ask its own pre-submit hook if it should
continue with submitting.
* cb/p4-pre-submit-hook:
git-p4: add the `p4-pre-submit` hook
Diffstat (limited to 't')
-rwxr-xr-x | t/t9800-git-p4-basic.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/t/t9800-git-p4-basic.sh b/t/t9800-git-p4-basic.sh index 4849edc4ef..729cd25770 100755 --- a/t/t9800-git-p4-basic.sh +++ b/t/t9800-git-p4-basic.sh @@ -261,6 +261,35 @@ test_expect_success 'unresolvable host in P4PORT should display error' ' ) ' +# Test following scenarios: +# - Without ".git/hooks/p4-pre-submit" , submit should continue +# - With the hook returning 0, submit should continue +# - With the hook returning 1, submit should abort +test_expect_success 'run hook p4-pre-submit before submit' ' + test_when_finished cleanup_git && + git p4 clone --dest="$git" //depot && + ( + cd "$git" && + echo "hello world" >hello.txt && + git add hello.txt && + git commit -m "add hello.txt" && + git config git-p4.skipSubmitEdit true && + git p4 submit --dry-run >out && + grep "Would apply" out && + mkdir -p .git/hooks && + write_script .git/hooks/p4-pre-submit <<-\EOF && + exit 0 + EOF + git p4 submit --dry-run >out && + grep "Would apply" out && + write_script .git/hooks/p4-pre-submit <<-\EOF && + exit 1 + EOF + test_must_fail git p4 submit --dry-run >errs 2>&1 && + ! grep "Would apply" errs + ) +' + test_expect_success 'submit from detached head' ' test_when_finished cleanup_git && git p4 clone --dest="$git" //depot && |