path: root/refs.h
diff options
authorMichael Haggerty <>2011-09-15 21:10:30 (GMT)
committerJunio C Hamano <>2011-10-05 20:45:30 (GMT)
commita40e6fb67a4aed2d5ffde5792bf7f1996d9666e1 (patch)
tree25301632521d5e44177d076b255746679755ba92 /refs.h
parenta5e4ec063afea050d09773f0aa5dcb95a82a31ec (diff)
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'refs.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/refs.h b/refs.h
index 48540c0..b0da5fc 100644
--- a/refs.h
+++ b/refs.h
@@ -106,7 +106,7 @@ extern int for_each_reflog(each_ref_fn, void *);
* REFNAME_ALLOW_ONELEVEL is set in flags, then accept one-level
* reference names. If REFNAME_REFSPEC_PATTERN is set in flags, then
* allow a "*" wildcard character in place of one of the name
- * components.
+ * components. No leading or repeated slashes are accepted.
extern int check_refname_format(const char *ref, int flags);