Philip Martin wrote on Thu, Jun 30, 2011 at 20:07:45 +0100:
> Daniel Shahaf <danie...@elego.de> writes:
> 
> > Philip Martin wrote on Thu, Jun 30, 2011 at 19:48:25 +0100:
> >>  for i in $(seq 0 $(svnlook youngest repo)) ; do
> >>   sqlite3 repo/db/revprops/revprops.db "insert into revprop values ($i, 
> >> '()'"
> >>  done
> >> 
> >
> >>From recover_body():
> >
> >       /* No file?  Hrm... maybe that's because this repository is
> >          packed and the youngest revision is in the revprops.db
> >          file?  We can at least see if that's a possibility.
> >
> >          ### TODO: Could we check for revprops in the revprops.db?
> >          ###       What if rNNN legitimately has no revprops? */
> >
> >
> > Your excerpt implies the answer to the first ###'d question is "Yes"
> > (via looking for an empty skel), doesn't it?
> 
> I don't understand your question.  The properties column is "NOT NULL"
> so must have some value.  Are you saying we don't need rows?  I guess my
> use of youngest is wrong, it should stop at the last packed rev.  I
> haven't actually run that script, I just wrote it in my email client :)

On IRC we agree that revprops.db is expected to have a row for *every*
revision less than MIN_UNPACKED_REV; that row may map the revision to an
empty proplist skel but it must exist.

We might want to tolerate missing table lines (with a warning), both in
'recover' and elsewhere in the code.  Still need to investigate here.

> 
> -- 
> Philip

Reply via email to