Greg Hudson <ghudson@MIT.EDU> writes:
> While working on skip-deltas, I needed on a couple of occasions to
> db_dump Subversion database files and examine the skels. I found it
> rather confusing to find in the structure document things like:
>
> DIFF ::= ("svndiff" VERSION STRING-KEY) ;
>
> but then in the database things like:
>
> ("svndiff" 1 0 2 1a)
To be painfully accurate there, that representation would have been:
(svndiff 1 0 2 1a)
(no quotes).
> Even after I figured out that atoms beginning with a digit were
> length-counted and atoms starting with a letter weren't, it was
> difficult to wrap my head around that as I read the database.
>
> If we believe this is worth changing for easier debuggability, it
> would probably be best to do so before 1.0. We can change it in a
> phased backward-compatible manner like we've done with date formats.
> Explicit atoms could be represented as:
>
> :count:data
>
> During the transition phase, atoms beginning with a digit will still
> be represented explicitly, so that existing databases can work. So
> the above example would look like:
>
> ("svndiff" :1:0 :2:1a)
Up to this point I'm -0. I have no problem reading the current
representation, but then I've been doing it with above-average
regularity for a year now. :-) I can appreciate how the explicit
counting (combined with a funky representation) would enhance a newbie
debugger's experience with the skel format, though.
> At some point in the future, after everyone is presumed to have dumped
> and reloaded their databases (perhaps waiting until a more important
> db change forces a dump and load), we can start leaving atoms
> beginning with a digit alone, and the above example would change to:
>
> ("svndiff" 0 1a)
This part won't work, though. We need to maintain the ability
to have zero-length atoms.
> This is an easy bit of work; please let me know (by voting, I guess)
> whether I should just do it or just leave well enough alone.
I suppose I'm -0 on Phase 1, -1 on Phase 2.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 29 16:39:38 2002