]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/refs: add "delete" subcommand
authorPatrick Steinhardt <ps@pks.im>
Mon, 6 Jul 2026 13:27:05 +0000 (15:27 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 6 Jul 2026 14:45:57 +0000 (07:45 -0700)
commitb3355995cf5adfa4b0b0c6dfddf4449f457e3912
tree749e831e1780fddfd3cd8df81fbc2a8da1ba5740
parent5a183de7114b0139a8a91a34c794e8be9cf9f851
builtin/refs: add "delete" subcommand

Reference-related functionality in Git is currently spread across many
different commands: git-update-ref(1), git-for-each-ref(1),
git-show-ref(1), git-pack-refs(1) and git-symbolic-ref(1). This makes it
hard for users to discover what functionality we have available to work
with references.

We have thus started to consolidate this functionality into git-refs(1),
which is a toolbox of everything related to references. Until now, the
command doesn't handle functionality of git-update-ref(1).

Fix this gap by introducing a new "delete" subcommand, which is the
equivalent of `git update-ref -d`.

Note that we're intentionally not using a generic "write" subcommand
with a "-d" flag. This is rather harder to discover, and subcommands
that are implmented as flags tend to be hard to reason about in the code
as we'd have to handle mutually-exclusive flags that stem from the other
subcommand-like modes.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-refs.adoc
builtin/refs.c
t/meson.build
t/t1464-refs-delete.sh [new file with mode: 0755]