Subject: Re: [PATCH v20 43/48] refs.c: move the check for valid refname to lock_ref_sha1_basic

From: Junio C Hamano <[email-masked]>
Date: Tue, 15 Jul 2014 11:34:11 -0700

Jonathan Nieder <[email-masked]> writes:

> How to take care of the recovery use case is another question.  FWIW I
> also would prefer if "git update-ref -d" or "git branch -D" could be
> used to delete corrupt refs instead of having to use fsck (since a
> fsck run can take a while), but that's a question for a later series.

Good thinking.

> In an ideal world, the low-level functions would allow *reading* and
> *deleting* poorly named refs (even without any special flag) but not
> creating them.  Is that doable?  The main complication I can see is
> iteration: would iteration skip poorly named refs and warn, or would
> something more complicated be needed?

I somehow thought that was what we have always designed for, which
DO_FOR_EACH_INCLUDE_BROKEN was a part of.