I have a master-slave write through proxy and following a commit the slave is temporarily out-of-date. A switch/update of the working copy should fail because the committed items in the working copy are newer than the slave repository. With serf a switch succeeds and leaves a broken working copy. Create the master/slave repositories: svnadmin create master svnadmin create slave svn mkdir -mm file://`pwd`/master/A svn cp -mm file://`pwd`/master/A ^/B svn mkdir -mm file://`pwd`/master/B/C svnadmin dump -r0:2 master | svnadmin load slave Setup the working copy corresponding the the slave commit: svn co http://localhost/master@2 wc svn up wc/C svn relocate http://localhost/master http://localhost/slave wc Now attempt to switch using 1.7/neon: $ svn sw ^/A wc svn: E175002: REPORT of '/slave/!svn/me': Could not read chunk size: connection was closed by server (http://localhost:8888) $ svn info wc/C | grep URL URL: http://localhost/slave/B/C The switch fails because ^/B/C does not yet exist on the slave. This is the correct behaviour. When the slave is up-to-date the switch will complete and wc/C will be removed because ^/A/C does not exist. The same switch using 1.8/serf appears to complete and that is wrong: $ svn sw ^/A wc At revision 2. $ svn info wc/C | grep URL URL: http://localhost/slave/A/C Now the working copy is broken because ^/A/C does not exist.