Allow DeleteRefs to remove all references without providing an exceptions list
Context
Follow up to !6596 (comment 1732229575)
The DeleteRefs
RPC can be used to delete a specific set of refs from a repository. It can also be used to delete all refs, but only with a workaround whereby a single value is provided in the except_with_prefix
exceptions list.
The workaround is being used in !6596 (merged) to delete all refs from a repository, by specifying HEAD
in the exceptions list. Since HEAD
is never touched by the RPC anyway, this is an inelegant approach that should be addressed.
Proposal
Modify the RPC so that it either accepts an empty refs
list which indicates that all refs should be removed, or an explicit option to delete all refs.