Philip Martin wrote on Fri, 16 Mar 2018 13:44 +0000:
> "NOCERA, ANDY" <an2...@att.com> writes:
> 
> > I used dump and load to debug the malformed node revision ID.  Here
> > are my steps and what learned.  Looks like the revs' file text: entry
> > has a zero instead of size.  By just editing the size, verify worked.
> > No other change was required.  The question is can we correct this
> > ourselves without a dump and load?
> >
> > db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
> >   diff db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
> >     18c18
> >     < text: 1 76 48 0 ec69809945c46f2bb74e99a3ff7cd917
> >     ---
> >     > text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917
> >     22c22
> 
> That looks like issue 4554
> 
> https://issues.apache.org/jira/projects/SVN/issues/SVN-4554
> 
> Editing the file is unlikely to work. Later revisons refer to data in
> earlier revisions via a byte offset into the earlier file.  When you
> edit "0" to "48" you have changed the byte offset of all the data beyond
> the edit and that breaks the references in all the later files.

Changing "0" to "48" would also have broken the <root-offset> and
<cp-offset> offsets in that revision file, so how come 'verify' worked after
that change?

Cheers,

Daniel
(The <foo-offset> terms are from the 'structure' file and describe
format 6; format 7 has <l2p offset> and <p2l offset> which are
analogous)

Reply via email to