Issue 4412 http://subversion.tigris.org/issues/show_bug.cgi?id=4412 is a serf bug that causes the client to incorrectly remove locks from the working copy during update. This bug is seen when using a 1.8 client with a 1.6.16 or earlier server: locks get removed from the working copy but are still present in the repository.
Part of the reason for this bug is that the client has code to work around a much older server bug. This older server bug was fixed in r869988 and released in 1.5.0, and was the opposite of 4412: the client failed to remove a lock from the working copy when the lock was broken in the repository. Client code that was added to work around this old bug but this code is broken and now removes locks that should not be removed. This old bug only occurs for 1.4 servers (I assume, I can only confirm that it occurs for 1.5.x before 1.5.0) as later servers are fixed. It also only occurs when the client is not using bulk updates and by default the 1.8 does use bulk updates and does not see the bug. 1.5.0 and later servers have the capability to tell the client not to use bulk updates, but those servers don't have the bug. So as far as I can tell the only way to trigger this old bug is to manually configure the client to not use bulk updates, by setting http-bulk-updates=no, and then use a 1.4 server. Even if all the conditions are met to trigger this old bug the 4412 problem means that the compatibility code doesn't even work all the time. So position is that we have this compatibility code for a very old bug and it doesn't fix the old bug and it triggers a new bug. We could fix this compatibility code, but the "obvious" fixes I tried introduced further bugs, see the issue for details. I propose to remove this compatibility code from 1.8 and trunk. This will fix the 4412 problem for people using 1.8 client against a 1.6.16 server. I don't think anyone will notice that the removal of the compatibility code as it doesn't work properly. If somebody does see a regression with a 1.4 server then removing the setting of http-bulk-updates=no should be a solution. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*