Merge branch 'rr/forbid-bs-in-ref'
* rr/forbid-bs-in-ref: Disallow '\' in ref namesmaint
						commit
						e05aae684d
					
				|  | @ -42,6 +42,8 @@ imposes the following rules on how references are named: | ||||||
|  |  | ||||||
| . They cannot contain a sequence `@{`. | . They cannot contain a sequence `@{`. | ||||||
|  |  | ||||||
|  | - They cannot contain a `\\`. | ||||||
|  |  | ||||||
| These rules make it easy for shell script based tools to parse | 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 | reference names, pathname expansion by the shell when a reference name is used | ||||||
| unquoted (by mistake), and also avoids ambiguities in certain | unquoted (by mistake), and also avoids ambiguities in certain | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								refs.c
								
								
								
								
							
							
						
						
									
										3
									
								
								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 has ASCII control character, "~", "^", ":" or SP, anywhere, or | ||||||
|  * - it ends with a "/". |  * - it ends with a "/". | ||||||
|  * - it ends with ".lock" |  * - it ends with ".lock" | ||||||
|  |  * - it contains a "\" (backslash) | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| static inline int bad_ref_char(int ch) | static inline int bad_ref_char(int ch) | ||||||
| { | { | ||||||
| 	if (((unsigned) ch) <= ' ' || | 	if (((unsigned) ch) <= ' ' || | ||||||
| 	    ch == '~' || ch == '^' || ch == ':') | 	    ch == '~' || ch == '^' || ch == ':' || ch == '\\') | ||||||
| 		return 1; | 		return 1; | ||||||
| 	/* 2.13 Pattern Matching Notation */ | 	/* 2.13 Pattern Matching Notation */ | ||||||
| 	if (ch == '?' || ch == '[') /* Unsupported */ | 	if (ch == '?' || ch == '[') /* Unsupported */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano