(Moving the http://subversion.tigris.org/issues/show_bug.cgi?id=4579
discussion to <dev_at_subversion.apache.org>)
Bert Huijben <rhuijben_at_tigris.org> writes:
> The documentation you quote doesn't allow these scenarios.
From my reading of ^/branches/1.8.x/subversion/svnmucc/svnmucc.c:460-475 ,
svnmucc allowed these scenarios when constructing the operation chain in
build() — prior to calling execute(). I doubt this is accidental, because the
decision is stated in the comment that exists since r863437 .
The mentioned build() function was folding some of the action sequences such
as propset + rm into a single rm action, and that's why the test cases from
r1678755  work with Subversion 1.8.x.
> You try to put a file and then immediately delete it in the same transaction.
> (Which is something that isn't allowed in an editor drive)
> Or delete something that is already deleted.
> (Which appears to be an error?)
> Or setting a property and then deleting the entire node.
> I don't see why these examples would ever be valid in this order.
> I would call the fact that all of these worked in 1.8.x a bug, as non of
> these scenarios are allowed by the ra or repos apis.
> (Perhaps they are allowed at the fs layer... but that is not where this tool
I raised an issue because I think that we care about compatibility and about
*not* breaking user scripts and tools that happen to use 'svnmucc'. Other
possible examples that work in 1.8.13, but fail in 1.9.0 RC1 include:
svnmucc rm /A/mu rm /A
svnmucc cp HEAD /iota /A/iota rm /A
If this behavior change isn't a regression, I am fine with closing the issue.
Received on 2015-05-11 20:42:26 CEST