oranepel commented on HUDSON-3390:
This issue is really painful. How about this suggested method:
After running the "regular" SVN revert operation, run a local recursive SVN status scan, with isIncludeIgnored = false.
Then simply delete all the files and directories with a reported status of SVNStatusType.STATUS_UNVERSIONED or SVNStatusType.STATUS_IGNORED.
> "Clean" mode for SVN
> Key: HUDSON-3390
> URL: http://issues.hudson-ci.org/browse/HUDSON-3390 > Project: Hudson
> Issue Type: Improvement
> Components: subversion
> Affects Versions: current
> Environment: Platform: All, OS: All
> Reporter: jglick
> The Mercurial plugin has a "clean" mode which deletes all unversioned detritus
> from the working copy, without requiring a fresh checkout (much less a fresh clone).
> There seems to be no equivalent for Subversion: you can either use "update" mode
> and live with builds becoming progressively more broken as weird files get
> dropped in the working copy and never deleted, even assuming you have a
> Ant/Maven/etc. "clean" target which deletes at least the expected things (such
> as **/build or **/target); or you can do a fresh checkout for every build, which
> is safe but going to be slow for a big project (and increases server load).
> SubversionSCM should support an option to run something like
> http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-clean > before a build. Should also try to undo any modifications to the checkout in the
> workspace; 'svn revert $modules' would probably suffice (not quite as good as
> 'hg up -C').