On Tue, Apr 17, 2012 at 2:04 PM, Philip Martin <philip.mar...@wandisco.com> wrote: > Johan Corveleyn <jcor...@gmail.com> writes: > >> When 'svn upgrade'-ing a 1.6 working copy with 1.7.4 (SlikSVN), I get >> the following error: >> >> [[[ >> C:\Temp\sourcesTest>svn upgrade >> Upgraded '.' >> Upgraded 'uz' >> ... >> svn: E155016: Insufficient NODES rows for >> 'C:\Temp\sourcesTest\.svn\tmp\wcng\uz\mock\TraceElement.java' >> ]]] >> >> I ran cleanup before the upgrade, and 'svn-1.6 status' shows nothing. >> >> Turns out this was reported before on the TortoiseSVN users-list [1], >> but never escalated upstream. >> >> The person who posted that message has also found a way to fix it. >> It's apparently caused by the presence of a .svn-revert file in the >> .svn/props-base directory corresponding to the problem file. Indeed, >> also in my case, such a file is present: >> >> [[[ >> C:\Temp\sourcesTest>dir uz\mock\.svn\prop-base >> ... >> 27-04-2011 12:05 81 TraceElement.java.svn-revert >> ]]] >> >> After removing this file, and running 'svn-1.6 cleanup' again to clean >> up remaining locks after the failed upgrade, I can now succesfully >> 'svn upgrade'. > > >> >> BTW, this error has also been filed in the svn issue tracker [2], but >> I'm not sure if it's exactly the same (reporter says he gets it after >> a clean checkout ... I'm not seeing this; but that might also be a >> misunderstanding, there is no discussion linked from the issue). >> >> Now: >> - Has anyone run into this before? >> - What is a .svn-revert file in .svn/props-base? I have no idea how to >> reproduce such metadata, but maybe if one knows the purpose of such a >> file, one can come up with a scenario on how to recreate it. > > .svn-revert files are created by Subversion 1.6 when a versioned file is > deleted and replaced by another versioned file. > > svnadmin create repo > svn import -mm repo/format file://`pwd`/repo/f > svn import -mm repo/format file://`pwd`/repo/g > svn co file://`pwd`/repo wc > svn rm wc/f > svn cp wc/g wc/f > > .svn-revert files should be removed when reverting the replace, but it > appears there is a bug that allows them to be left behind. The presence > of these extraneous files does cause the 4043 error: > > svn1.6 co file://`pwd`/repo wc > echo END > wc/.svn/prop-base/f.svn-revert > svn1.7 upgrade wc > svn: E155016: Insufficient NODES rows for > '/home/pm/sw/subversion/obj/wc/.svn/tmp/wcng/f'
Thanks for confirming. No idea about the 1.6-bug that left the .svn-revert file behind though (or the circumstances / scenario). Do you think it would be useful / feasible to let the 1.7-upgrade code cope with this specific corruption, and just silently fix it? -- Johan