Change check_refname_format() to reject unnormalized refnames
Since much of the infrastructure does not work correctly with unnormalized refnames, change check_refname_format() to reject them. Similarly, change "git check-ref-format" to reject unnormalized refnames by default. But add an option --normalize, which causes "git check-ref-format" to normalize the refname before checking its format, and print the normalized refname. This is exactly the behavior of the old --print option, which is retained but deprecated. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
a5e4ec063a
commit
a40e6fb67a
3
refs.c
3
refs.c
@ -908,9 +908,6 @@ int check_refname_format(const char *ref, int flags)
|
||||
int component_len, component_count = 0;
|
||||
|
||||
while (1) {
|
||||
while (*ref == '/')
|
||||
ref++; /* tolerate leading and repeated slashes */
|
||||
|
||||
/* We are at the start of a path component. */
|
||||
component_len = check_refname_component(ref);
|
||||
if (component_len < 0) {
|
||||
|
Reference in New Issue
Block a user