On Tue, 13 May 2008 10:05:59 +0200
Philippe Bergheaud <[EMAIL PROTECTED]> wrote:
> Inside a dim library namespace, an item version is
> Item:Version
We should distinguish between output and input. When printing a full
version, we still have Item-Version (and only this pattern, never
Item:Version). The short form is Version.
At input, we can have Item-Version or Item:Version or Version
or :Version. To me, this list is not exhaustive. For ex. we could also
accept any substring which returns a unique match.
In other words, we want to be precise consistent and unique on output,
and tolerant on inputs.
If we do not specigy input or output, I assume that we are talking of
output, which is more restrictive. In that case, Item:Version is not
correct. Item-Version is.
> Item is
> [A-Za-z0-9_][A-Za_z0-9_.]*
Ok.
> Version is one of
> [A-Fa-f0-9]{40} # sha1 checksum
Again, checksum output is only [a-f0-9]{40}. Input could tolerate your
extended form.
> +[1-9][0-9]* # clone number
Ok. Only clones have this naming. This is mutually exclusive with the
other readonly versions which have a version name defined in the
following.
> Name[(-Name)+[(--Name)+]]
> Name is
> [A-Za-z0-9_][A-Za_z0-9_.]*
Ok. In addition, Names matching checksums are forbidden, i.e. you can
not alias a checksum with another checksum.
> The syntax Item:Version can be relaxed into one of
> Item-Version # used for tarballs
> Item
> Version
>
To me, this is the other way around:
the syntax Item-Version can be relaxed into any one of
Item:Version
Item
Item:
:Version
Version
This is not exhaustive. I'm not sure if it is necessary to specify
all possible combinations at this stage.
> 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]+
>
I don't get it. Where are the directory separators (/)?
> Ambiguity will be lifted by a heuristic not yet documented.
>
You mean ambiguity at input. Output should never be ambiguous.
> Philippe
Marc
--
Archive: http://www.mail-archive.com/[email protected]/
To unsubscribe: mailto:[EMAIL PROTECTED]