The unpac monorepo manager self-hosting as a monorepo using unpac

s/structural test/syntactic test/g

+5 -5
+5 -5
src/fpath.mli
··· 185 185 186 186 {b Warning.} The {{!is_prefix}prefix property} between paths does 187 187 not entail directory containement in general, as it is, by 188 - definition, a structural test. For example [is_prefix (v "..") (v 188 + definition, a syntactic test. For example [is_prefix (v "..") (v 189 189 "../..")] is [true], but the second path is not contained in the 190 190 first one or [is_prefix (v "..") (v ".")] is [false]. However, on 191 191 {{!normalize}normalized}, {{!is_abs}absolute} paths, the prefix relation ··· 265 265 root directory separator and a single, empty, segment. 266 266 {{!ex_is_root}Examples}. 267 267 268 - {b Warning.} By definition this is a structural test. For example it will 268 + {b Warning.} By definition this is a syntactic test. For example it will 269 269 return [false] on ["/a/.."] or ["/.."]. {{!normalize}Normalizing} 270 270 the path before testing avoids this problem. *) 271 271 ··· 273 273 (** [is_current_dir p] is true iff [p] is the current relative directory, 274 274 i.e. either ["."] or ["./"]. {{!ex_is_current_dir}Examples}. 275 275 276 - {b Warning.} By definition this is a structural test. For example it will 276 + {b Warning.} By definition this is a syntactic test. For example it will 277 277 return [false] on ["./a/.."] or ["./."]. {{!normalize}Normalizing} the 278 278 path before testing avoids this problem. *) 279 279 ··· 281 281 (** [is_dotfile p] is [true] iff [p]'s last non-empty segment is not 282 282 ["."] or [".."] and starts with a ['.']. {{!ex_is_dotfile}Examples}. 283 283 284 - {b Warning.} By definition this is a structural test. For example it will 284 + {b Warning.} By definition this is a syntactic test. For example it will 285 285 return [false] on [".ssh/."]. {{!normalize}Normalizing} the 286 286 path before testing avoids this problem. *) 287 287 ··· 289 289 (** [equal p p'] is [true] if [p] and [p'] have the same volume 290 290 are both relative or absolute and have the same segments. 291 291 292 - {b Warning.} By definition this is a structural test. For example 292 + {b Warning.} By definition this is a syntactic test. For example 293 293 [equal (v "./") (v "a/..")] is [false]. {{!normalize}Normalizing} 294 294 the paths before testing avoids this problem. *) 295 295