(Moving the http://subversion.tigris.org/issues/show_bug.cgi?id=4579 discussion to <dev@subversion.apache.org>)
Bert Huijben <rhuij...@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 [1], 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 [2]. 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 [3] 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 > works) 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. [1] https://svn.apache.org/repos/asf/subversion/branches/1.8.x/subversion/svnmucc/svnmucc.c [2] https://svn.apache.org/r863437 [3] https://svn.apache.org/r1678755 Regards, Evgeny Kotkov