I hope you will re-consider. The problem is not limited to our exact scenario. You can readily reproduce this problem by starting a job with one client spec name and then changing your mind and modifying the client spec name in job config. Perforce plugin will happily create the new client spec, overlay it over existing files and lots of fun ensues as the user tries to figure out why Perforce has gone nuts.
Hudson's "Wipe Out Workspace" function is not really a solution for this. In many cases the workspaces are far too large to be blowing them away on every build. Ours are 3GB+. We'd like to be able to tell Hudson to use the nuclear option only when necessary.
I am having a hard time imagining a scenario where the user would configure Perforce plugin to manage the client spec for them and at the same time is doing something funky in the workspace such that letting the plugin blow away their workspace is not a good idea. However, if that is indeed a concern, perhaps an explicit option "let hudson manage my local workspace" could be added.
Yeah, that rename was a bad call on my part, but I don't think automatically deleting the contents of the workspace is a good solution. There are many people out there with complex setups, and a change like what is being proposed could seriously break them.
The plugin is compatible with Hudson's "Wipe Out Workspace" function, so that can be used instead of doing it automatically.