Robin Rosenberg venit, vidit, dixit 08.05.2009 07:32: > This is asking for trouble since '\' is a directory separator in > Windows and thus may produce unpredictable results. > > Signed-off-by: Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> > --- > Documentation/git-check-ref-format.txt | 2 ++ > refs.c | 3 ++- > 2 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt > index c1ce268..4884520 100644 > --- a/Documentation/git-check-ref-format.txt > +++ b/Documentation/git-check-ref-format.txt > @@ -38,6 +38,8 @@ imposes the following rules on how references are named: > > . They cannot contain a sequence `@{`. > > +- They cannot contain a `\\` Minor nit from the doc watch dog: +. They cannot contain a `\\`. > + > These rules make it easy for shell script based tools to parse > reference names, pathname expansion by the shell when a reference name is used > unquoted (by mistake), and also avoids ambiguities in certain > diff --git a/refs.c b/refs.c > index e65a3b4..fc33bc6 100644 > --- a/refs.c > +++ b/refs.c > @@ -682,12 +682,13 @@ int for_each_rawref(each_ref_fn fn, void *cb_data) > * - it has ASCII control character, "~", "^", ":" or SP, anywhere, or > * - it ends with a "/". > * - it ends with ".lock" > + * - it contains a "\" (backslash) > */ > > static inline int bad_ref_char(int ch) > { > if (((unsigned) ch) <= ' ' || > - ch == '~' || ch == '^' || ch == ':') > + ch == '~' || ch == '^' || ch == ':' || ch == '\\') > return 1; > /* 2.13 Pattern Matching Notation */ > if (ch == '?' || ch == '[') /* Unsupported */ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html