This response is really late, but this is basically what I had in mind:
-If there is a changeset already unshelved from last build:
--Issue 'p4 opened' to get list of added files
--Issue 'p4 revert'
--Cleanup added files, since they would be left behind otherwise
Note that nowhere would we use '-k'. That would put the workspace into an inconsistent state, and we can't have that.