Inside a dim library namespace, an item version is
Item:Version
Item is
[A-Za-z0-9_][A-Za_z0-9_.]*
Version is one of
[A-Fa-f0-9]{40} # sha1 checksum
+[1-9][0-9]* # clone number
Name[(-Name)+[(--Name)+]]
Name is
[A-Za-z0-9_][A-Za_z0-9_.]*
The syntax Item:Version can be relaxed into one of
Item-Version # used for tarballs
Item
Version
A file or directory Pathname is one of
\.[^\n]* # starts with .
[^.\n]*[^-+A-Za-z0-9_.\n][^\n]*
Pathname syntax can be relaxed into whatever
[\n]+
Ambiguity will be lifted by a heuristic not yet documented.
Philippe