t4207: delete replace references via git-update-ref(1)
commitc6429fb86765714ef35d789905c1c15f50c4de91
authorPatrick Steinhardt <ps@pks.im>
Thu, 2 Nov 2023 08:47:01 +0000 (2 09:47 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Nov 2023 23:37:07 +0000 (3 08:37 +0900)
tree78646553bd2580fe1627b0844c83dd1e17fcc54e
parentc603138e3d5bae3991fcf2ba98f09b0ea3beb056
t4207: delete replace references via git-update-ref(1)

In t4207 we set up a set of replace objects via git-replace(1). Because
these references should not be impacting subsequent tests we also set up
some cleanup logic that deletes the replacement references via a call to
`rm -rf`. This reaches into the internal implementation details of the
reference backend and will thus break when we grow an alternative refdb
implementation.

Refactor the tests to delete the replacement refs via Git commands so
that we become independent of the actual refdb that's in use. As we
don't have a nice way to delete all replacements or all references in a
certain namespace, we opt for a combination of git-for-each-ref(1) and
git-update-ref(1)'s `--stdin` mode.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4207-log-decoration-colors.sh