Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
---
Description
I found a bug in ra-{neon,serf} that can't be shown with the client library, but only when using the ra commit editor to build up a relatively complex transaction. See http://svn.haxx.se/dev/archive-2007-09/0327.shtml and http://svn.haxx.se/dev/archive-2007-09/0332.shtml for Python and sh/svnmucc scripts demonstrating the bug. The problem is basically: 1. Delete /trunk/dir1/dir2/ => commit r13 2. In one transaction: a. Copy /trunk@13 to /branch b. Create /branch/dir1/dir2 => commit r14 3. In one transaction: a. Delete /branch b. Copy /trunk@13 to /branch c. Create /branch/dir1/dir2 => ERROR: .../branch/dir1/dir2 already exists Of course, /branch/dir1/dir2 does *not* exist in the transaction I'm building in step 3! Some or all of Neon, serf, and mod-dav-svn are looking at branch/dir1/dir2 in the revision root rather than the transaction root. There's a bit more to it, and serf is slightly different from neon, but that's basically it. See the test script for details. Plop it into subversion/bindings/swig/python/tests and run it. Comment out both REPOS_URL settings to see it run over local.
Original issue reported by epg