Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > "refname" has already been checked by check_refname_format(), so it > cannot have consecutive slashes. In the endgame state, this has two callers. Both use what came in the transaction->updates[] array. Presumably "has already been checked by check_refname_format()" says that whoever created entries in that array must have called the function, but it would be helpful to be more explicit here. > Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> > --- > refs/files-backend.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/refs/files-backend.c b/refs/files-backend.c > index af5a0e2..397488e 100644 > --- a/refs/files-backend.c > +++ b/refs/files-backend.c > @@ -2294,15 +2294,14 @@ static void try_remove_empty_parents(const char *refname) > for (i = 0; i < 2; i++) { /* refs/{heads,tags,...}/ */ > while (*p && *p != '/') > p++; > - /* tolerate duplicate slashes; see check_refname_format() */ > - while (*p == '/') > + if (*p == '/') > p++; > } > q = buf.buf + buf.len; > while (1) { > while (q > p && *q != '/') > q--; > - while (q > p && *(q-1) == '/') > + if (q > p && *(q-1) == '/') > q--; > if (q == p) > break;