Philip Martin wrote on Thu, Jun 30, 2011 at 20:07:45 +0100:
> Daniel Shahaf <danielsh_at_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
Received on 2011-06-30 21:49:22 CEST