Daniel Shahaf wrote on Thu, Jun 30, 2011 at 22:48:27 +0300:
> 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.
> 

... and therefore, the comment in the code that effectively asks "Is it
legitimate for an existing revision not to have a table row (for
example, if that revision has no revprops)", is answered by "No".

> 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