Ryan Schmitz <jschm...@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

Reply via email to