On Fri, Aug 16, 2013 at 5:57 PM, Richard Hipp <d...@sqlite.org> wrote:

> All characters are significant.  If X and Y are cards in an artifact and X
> comes before Y then it must be the case that strcmp(X,Y)<0.  Note, this
> also implies that there can be no duplicate cards.
>

Just one more piece, and then i've got it: when you say "card", you mean
from the first [A-Z] up until the next newline (or logical end, e.g. of a
W-card), correct?

Buf if the definition of card is the whole line, as i interpret this:

'...except for the newline character that acts as the card separator'

then in Jan's example it is not two identical cards - it's two cards with a
common prefix.

    T +closed 6d42bcbef1a19fce44d20c43869399387b99a97b
    T +closed abfc26f6da112a56821946ae9dff3fee8a0aa205

Which implies to me that his proposal (including the uuid in the
comparison) is in fact already equivalent to the current behaviour. The
only sorting checks i see being done in manifest_parse(), though are for
the card names themselves, but i see no validation of the order of the
remainder of the card.

To be clear - i'm not arguing for or against the ability to pack duplicate
keys on multiple cards of the same type. i'm just trying to be sure that i
understand these bits as clearly as possible, to avoid breaking or misusing
them. Six of the past seven days i've spent implementing these very ops in
lib form, and just want to make _really_ sure i've got it right. (So far,
so good, just want to be extra sure.)

-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to