-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'jk/detect-push-typo-early'
Catch "git push $there no-such-branch" early. * jk/detect-push-typo-early: push: detect local refspec errors early match_explicit_lhs: allow a "verify only" mode match_explicit: hoist refspec lhs checks into their own function
- Loading branch information
Showing
4 changed files
with
130 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
#!/bin/sh | ||
|
||
test_description='detect some push errors early (before contacting remote)' | ||
. ./test-lib.sh | ||
|
||
test_expect_success 'setup commits' ' | ||
test_commit one | ||
' | ||
|
||
test_expect_success 'setup remote' ' | ||
git init --bare remote.git && | ||
git remote add origin remote.git | ||
' | ||
|
||
test_expect_success 'setup fake receive-pack' ' | ||
FAKE_RP_ROOT=$(pwd) && | ||
export FAKE_RP_ROOT && | ||
write_script fake-rp <<-\EOF && | ||
echo yes >"$FAKE_RP_ROOT"/rp-ran | ||
exit 1 | ||
EOF | ||
git config remote.origin.receivepack "\"\$FAKE_RP_ROOT/fake-rp\"" | ||
' | ||
|
||
test_expect_success 'detect missing branches early' ' | ||
echo no >rp-ran && | ||
echo no >expect && | ||
test_must_fail git push origin missing && | ||
test_cmp expect rp-ran | ||
' | ||
|
||
test_expect_success 'detect missing sha1 expressions early' ' | ||
echo no >rp-ran && | ||
echo no >expect && | ||
test_must_fail git push origin master~2:master && | ||
test_cmp expect rp-ran | ||
' | ||
|
||
test_expect_success 'detect ambiguous refs early' ' | ||
git branch foo && | ||
git tag foo && | ||
echo no >rp-ran && | ||
echo no >expect && | ||
test_must_fail git push origin foo && | ||
test_cmp expect rp-ran | ||
' | ||
|
||
test_done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters