[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 'svn upgrade' fails with "svn: E155016: Insufficient NODES rows"

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Tue, 17 Apr 2012 14:37:50 +0200

On Tue, Apr 17, 2012 at 2:04 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Johan Corveleyn <jcorvel_at_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
Received on 2012-04-17 14:38:46 CEST

This is an archived mail posted to the Subversion Users mailing list.