Re: [PATCH 3/6] update-ref: add support for 'symref-delete' command
On Tue, May 14, 2024 at 02:44:08PM +0200, Karthik Nayak wrote:
> From: Karthik Nayak <karthik.188@gmail.com>
Show 20 quoted lines
> @@ -1317,14 +1317,18 @@ int ref_transaction_create(struct ref_transaction *transaction,
> int ref_transaction_delete(struct ref_transaction *transaction,
> const char *refname,
> const struct object_id *old_oid,
> - unsigned int flags, const char *msg,
> + unsigned int flags,
> + const char *old_target,
> + const char *msg,
> struct strbuf *err)
> {
> if (old_oid && is_null_oid(old_oid))
> BUG("delete called with old_oid set to zeros");
> + if (old_target && !(flags & REF_NO_DEREF))
> + BUG("delete cannot operate on symrefs with deref mode");
> return ref_transaction_update(transaction, refname,
> null_oid(), old_oid,
> - NULL, NULL, flags,
> + NULL, old_target, flags,
> msg, err);
> }Same comment here, should we BUG on `old_oid && old_target`?
Show 13 quoted lines
> diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
> index 8784c59a53..fbc6b234cb 100755
> --- a/t/t1400-update-ref.sh
> +++ b/t/t1400-update-ref.sh
> @@ -1689,7 +1689,7 @@ do
> test_cmp before after
> '
>
> - test_expect_success "stdin ${type} symref-verify no value is treated as zero value" '
> + test_expect_success "stdin ${type} symref-verify fails with no value" '
> git symbolic-ref refs/heads/symref >expect &&
> create_stdin_buf ${type} "symref-verify refs/heads/symref" "" &&
> test_must_fail git update-ref --stdin ${type} --no-deref <stdinThis change belongs into the preceding commit.
Patrick