update-ref: disallow "start" for ongoing transactions
commit8c4417f1cf3c78955a7ea942cc0c8a97e7c77e77
authorPatrick Steinhardt <ps@pks.im>
Fri, 13 Nov 2020 08:12:45 +0000 (13 09:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Nov 2020 21:44:01 +0000 (16 13:44 -0800)
tree08794784cbef00a92c0d2189ef4fac24d573a98e
parent21020430a4a08d2e31c1c6825e53f194569c706c
update-ref: disallow "start" for ongoing transactions

It is currently possible to write multiple "start" commands into
git-update-ref(1) for a single session, but none of them except for the
first one actually have any effect.

Using such nested "start"s may eventually have a sensible effect. One
may imagine that it restarts the current transaction, effectively
emptying it and creating a new one. It may also allow for creation of
nested transactions. But currently, none of these are implemented.

Silently ignoring this misuse is making it hard to iterate in the future
if "start" is ever going to have meaningful semantics in such a context.
This commit thus makes sure to error out in case we see such use.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/update-ref.c
t/t1400-update-ref.sh