At the moment, update_editor.c's open_directory() is installing a new revision and 'incomplete' flag, but is *not* installing a new URL during a switch. If you allow 'svn switch' to finish to completion, some post-update processing recursively rewrites urls throughout the switched area. But if you interrupt the switch, you'll potentially end up with a visible directory (i.e. linked to its parent), incomplete, and which claims to be a URL it's not. This means that 'svn switch' really isn't restartable. Mike and I have a patch in progress to remedy this -- it essentially makes sure that open_directory() installs the correct 'switch' url immediately. But we've run into other complexities in making it work. Attaching the patch below.