Philip Martin wrote on Tue, Nov 26, 2013 at 12:36:34 +0000: > Daniel Shahaf <[email protected]> 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.

