mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-09 01:18:35 +03:00
bin/refs: Disallow creating broken aliases
This is the alias version of #1749. I.e. we want to make sure that one can't even create an alias which would end up dangling. See also: https://pagure.io/releng/issue/7891 Closes: #1768 Approved by: sinnykumari
This commit is contained in:
parent
51752baf0e
commit
34a8867749
@ -221,6 +221,9 @@ static gboolean do_ref (OstreeRepo *repo, const char *refspec_prefix, GCancellab
|
||||
{
|
||||
if (remote)
|
||||
return glnx_throw (error, "Cannot create alias to remote ref: %s", remote);
|
||||
if (!g_hash_table_contains (refs, refspec_prefix))
|
||||
return glnx_throw (error, "Cannot create alias to non-existent ref: %s",
|
||||
refspec_prefix);
|
||||
if (!ostree_repo_set_alias_ref_immediate (repo, remote, ref, refspec_prefix,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
|
@ -25,7 +25,7 @@ set -euo pipefail
|
||||
|
||||
setup_fake_remote_repo1 "archive"
|
||||
|
||||
echo '1..6'
|
||||
echo '1..7'
|
||||
|
||||
cd ${test_tmpdir}
|
||||
mkdir repo
|
||||
@ -207,3 +207,9 @@ if ${CMD_PREFIX} ostree --repo=repo refs -A exampleos/x86_64/27/server --create=
|
||||
fi
|
||||
assert_file_has_content_literal err.txt 'Cannot create alias to remote ref'
|
||||
echo "ok ref no alias remote"
|
||||
|
||||
if ${CMD_PREFIX} ostree --repo=repo refs -A --create foobar nonexistent 2>err.txt; then
|
||||
fatal "Created alias to nonexistent ref?"
|
||||
fi
|
||||
assert_file_has_content_literal err.txt 'Cannot create alias to non-existent ref'
|
||||
echo "ok ref no broken alias"
|
||||
|
Loading…
Reference in New Issue
Block a user