Philip Martin wrote on Tue, Nov 26, 2013 at 12:36:34 +0000:
> Daniel Shahaf <d.s_at_daniel.shahaf.name> writes:
>
> > Philip Martin wrote on Tue, Nov 26, 2013 at 11:53:05 +0000:
> >> The result is a revision file that contains duplicate nodes, multiple
> >> change lists, etc. The problem is likely even worse if changes are
> >> made to the transaction between the calls to svn_fs_commit_txn.
> >>
> >
> > Assuming there are no changes to the transaction, is there a correctness
> > problem resulting? Or is the problem simply one of wasted space, i.e.,
> > the resulting revision file would contain N copies of the change list
> > but only one copy would be pointed to?
>
> I don't know, I expect it depends on implementation details of the FSFS
> code that reads revision files.
I don't think it depends on the implementation details; I think it's
a valid revision file, full stop. The revision file invariant is that
everything reachable from the two offsets in the last line of the file
be valid --- and that indeed is the case for the revs/0/1 file in your
repository.
Yes, there are some byte offsets, node-revs, reps, etc in the file which
are not reachable from the two offsets in the last line, but that
doesn't make the file invalid.
Received on 2013-11-26 13:46:10 CET