forked from ungleich-public/cdist
		
	+object id issues/ideas
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								45053c6d84
							
						
					
				
			
			
				commit
				
					
						49917d2933
					
				
			
		
					 1 changed files with 18 additions and 0 deletions
				
			
		
							
								
								
									
										18
									
								
								doc/dev/logs/2012-02-10.object_id-and-slashes
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								doc/dev/logs/2012-02-10.object_id-and-slashes
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					__typename /foo/bar # possible, usual use case
 | 
				
			||||||
 | 
					require="__a//b" __typename /foo/bar # possible and happens often for __a/$id in loops
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__typename /foo/bar/ # trailing slash will be stripped, can be documented
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__typename /foo//bar//baz # // will be converted to / implicitly through fs; error prone; disallow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require="__a//b//c" __typename # // will be converted to / implicitly through fs; error prone; disallow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Solution:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    1) allow require __a//b: type __a, object id /b
 | 
				
			||||||
 | 
					        => strip first slash of object id, as we do in non-dep-mode
 | 
				
			||||||
 | 
					    2) allow _one_ trailing /: __type /foo/bar/ and require="__foo/abc/"
 | 
				
			||||||
 | 
					        => strip one leading slash of object id
 | 
				
			||||||
 | 
					    3) disallow // within object id
 | 
				
			||||||
 | 
					    4) disallow starting or ending / after 1) and 2)
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue