mirror of
https://github.com/git/git.git
synced 2025-03-19 15:48:35 +00:00
symbolic-ref: propagate error code from create_symref()
If create_symref() fails, git-symbolic-ref will still exit with code 0, and our caller has no idea that the command did nothing. This appears to have been broken since the beginning of time (e.g., it is not a regression where create_symref() stopped calling die() or something similar). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a2558fb8e1
commit
3e4068ed90
@ -67,7 +67,7 @@ int cmd_symbolic_ref(int argc, const char **argv, const char *prefix)
|
||||
if (!strcmp(argv[0], "HEAD") &&
|
||||
!starts_with(argv[1], "refs/"))
|
||||
die("Refusing to point HEAD outside of refs/");
|
||||
create_symref(argv[0], argv[1], msg);
|
||||
ret = !!create_symref(argv[0], argv[1], msg);
|
||||
break;
|
||||
default:
|
||||
usage_with_options(git_symbolic_ref_usage, options);
|
||||
|
@ -63,4 +63,10 @@ test_expect_success 'symbolic-ref fails to delete real ref' '
|
||||
'
|
||||
reset_to_sane
|
||||
|
||||
test_expect_success 'symbolic-ref reports failure in exit code' '
|
||||
test_when_finished "rm -f .git/HEAD.lock" &&
|
||||
>.git/HEAD.lock &&
|
||||
test_must_fail git symbolic-ref HEAD refs/heads/whatever
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
x
Reference in New Issue
Block a user