diff options
author | Thomas Gummerer <t.gummerer@gmail.com> | 2016-02-16 10:47:51 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-02-16 13:33:12 -0800 |
commit | cc8e538d45e4260b27196c3238e6f15d64236523 (patch) | |
tree | 2e0bafd5cb169ddadc64c72c25152c6e6118f970 /t/t5505-remote.sh | |
parent | 674468b3642abfff7c61d5ff95fffc43b87f70b7 (diff) | |
download | git-cc8e538d45e4260b27196c3238e6f15d64236523.tar.gz git-cc8e538d45e4260b27196c3238e6f15d64236523.tar.xz |
remote: actually check if remote exits
When converting the git remote command to a builtin in 211c89 ("Make
git-remote a builtin"), a few calls to check if a remote exists were
converted from:
if (!exists $remote->{$name}) {
[...]
to:
remote = remote_get(argv[1]);
if (!remote)
[...]
The new check is not quite correct, because remote_get() never returns
NULL if a name is given. This leaves us with the somewhat cryptic error
message "error: Could not remove config section 'remote.test'", if we
are trying to remove a remote that does not exist, or a similar error if
we try to rename a remote.
Use the remote_is_configured() function to check whether the remote
actually exists, and die with a more sensible error message ("No such
remote: $remotename") instead if it doesn't.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5505-remote.sh')
-rwxr-xr-x | t/t5505-remote.sh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 1a8e3b81c..f1d073f1b 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -139,6 +139,24 @@ test_expect_success 'remove remote protects local branches' ' ) ' +test_expect_success 'remove errors out early when deleting non-existent branch' ' + ( + cd test && + echo "fatal: No such remote: foo" >expect && + test_must_fail git remote rm foo 2>actual && + test_i18ncmp expect actual + ) +' + +test_expect_success 'rename errors out early when deleting non-existent branch' ' + ( + cd test && + echo "fatal: No such remote: foo" >expect && + test_must_fail git remote rename foo bar 2>actual && + test_i18ncmp expect actual + ) +' + cat >test/expect <<EOF * remote origin Fetch URL: $(pwd)/one |