On Tue, Aug 23, 2011 at 5:13 AM, Neels J Hofmeyr <neels_at_elego.de> wrote:
> I can reproduce the corrupted WC reported by David Wallace with 1.6.17.
> 1.7.x does not show this bug.
>
> I have attached a reproduction script that is roughly based on David's
> typescript, but is only a fraction of the size.
>
> The error occurs like this:
>
> - use Subversion release 1.6.17
> - update WC
> - locally delete file 'foo'
> - commit
> - do *not* update.
> - merge, so that file 'foo' is added (e.g. from another branch).
> status becomes: A + foo
> - update
> - A tree conflict "local edit, incoming delete" is flagged.
At this point, this seems remotely similar to
http://subversion.tigris.org/issues/show_bug.cgi?id=3526 "Commit of
newly added file followed by move (or delete) of parent dir causes
tree conflict". Except that it's more like "Commit of deleted file
followed by a merge adding the same file to the parent dir causes tree
conflict". BTW: Does it have to be a merge adding the same file (A+),
or can it also happen with a plain 'add' of that same file (A)?
In issue #3526 the conflict came from one of the 'entry-props' being
updated (the last-changed-revision number), while it was locally
deleted. I don't understand the internals too much here, but on the
surface it looks like a conflict between a local entry-prop being
updated (the copyfrom perhaps?), and the remote delete coming in. Or
something like that :-).
Anyway, it's just a vague similarity, maybe they have nothing to do
with each other, so I could just as well be saying nonsense here :-).
> This is obviously wrong. The local 'foo' has been deleted (and committed).
> Taking this situation further results in a truly corrupted WC:
>
> - resolve the tree conflict
> - commit
>
> The committed result (svn cat <URL>) is different from the on-disk contents,
> even though the file is claimed to be up-to-date.
That's certainly a new result, one which I hadn't reached with #3526.
Nice! (well, not nice of course, but ... interesting :-)).
> Trunk doesn't show this behavior (thumbs up for wc-ng), but we should try to
> find a fix for 1.6.x.
>
> stsp, you wanna hunt this down?
>
> Thank you very much, Dave! Seriously bad mojo, as you said. Good work!!
> ...even though it took ages to deflate your darn typescript ;)
>
> ~Neels
>
--
Johan
Received on 2011-08-23 09:08:38 CEST