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

Re: error when upgrading working copy

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 01 May 2012 21:14:02 +0100

Ryan Schmitz <jschmitz_at_marketstar.com> writes:

> It appears to be failing in the Data Definitions subfolder. There were
> no 'deleted' flags in the entries folder there, but there were several
> in the folders that were at the next level down. I've pasted the
> entries with the deleted flag below, and the first one,
> DeviceSalesLastSevenDaysdir caught my eye because it has both delete
> and deleted.

That will be it.

"delete" means "delete this at the next commit".

"deleted" means "commit has deleted this" or "update has removed this".

I don't think it's valid for a node to have both set.

> These entries refer to folders at the next level that
> were recently deleted, and I remember that, for this first one, I
> accidentally deleted it irreversibly through the file system before
> deleting it from SVN, and I had to do something funky to get it back
> to a point that I could check it in. The folder was empty, and I tried
> to recover it through SVN, but that didn't work. I ended up creating a
> new folder with the same name and deleting it through SVN, but it was
> tricky when committing. I hope this is helpful to your evaluation
> process. I've attached the three entries folders that I've examined
> for your reference and named them for the folder they resided in.

The delete/deleted combination is not supposed to occur, it's a 1.6 bug
that it let you get into that state.

You may be able to upgrade the rest of the working copy by editing the
.svn/entries file that has the delete/deleted entry. Remove the delete
but make sure to leave the empty line.

$ svnadmin create repo
$ svn mkdir -mm file://`pwd`/repo/A
$ svn1.6 co file://`pwd`/repo wc
$ svn1.6 up -r0 wc/A
$ edit wc/.svn/entries # add delete at line 34
$ svn1.7 upgrade wc
svn: E235000: In file '../src-1.7/subversion/libsvn_wc/entries.c' line 126: assertion failed (entry->schedule == svn_wc_schedule_add || entry->schedule == svn_wc_schedule_normal)
Aborted

It appears that 1.6 ignores the delete and gives deleted precedence:

$ svn1.6 st wc
$ svn1.6 info wc/A
wc/A: (Not a versioned resource)
svn: A problem occurred; see other errors for details

I suppose 1.7 could do the same but upgrading corrupt working copies is
not really practical because we don't know what else is broken.

-- 
Philip
Received on 2012-05-01 22:14:40 CEST

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