On 09/03/12 13:56, Simon Dean wrote:
> Hi
>
> Are there any plans to add a command to SVN that cleans a working copy or path of all unversioned and/or ignored files and directories?
>
> This is a very common need for automated Continuous Integration builds where a working copy is reused for multiple runs of the same build. Currently there is no simple and fast way to restore a working copy to a prestine state. Often users have to choose between i) completely deleting the working copy for every build and then doing a fresh checkout from scratch or ii) living with lots of unversioned and ignored files and directories building up with each successive build.
>
> The only option at the moment is to write a shell/batch script to provide this feature which is messy and there's common way to do this. A new SVN command or enhanced exiting command that provided this functionality would be incredibly useful.
>
> As an example, here is the DOS batch script that I use at the moment:
>
> @echo off
> :: revert any uncommitted changes
> svn revert . --recursive
>
> :: remove all unversioned and all ignored files and directories
> for /f "usebackq tokens=1*" %%i in (`svn status --depth infinity --no-ignore ^| findstr /r "^[\?I]"`) do (
> if not %%j == %~nx0 (
> if exist "%%j\*" (
> echo deleting unversioned directory "%%j"
> attrib -h "%%j" /d /s
> rmdir /s /q "%%j"
> ) else (
> echo deleting unversioned file "%%j"
> attrib -h "%%j"
> del /f "%%j"
> )
> )
> )
>
> A possible command line syntax might look something like this:
>
> svn revert . --ignored --unversioned --recursive
>
Sorry, but to me this has got nothing to do with Subversion. Your CI
tool is should clean up itself.
Having said that, if someone wants to implement such feature I don't
think I would have anything against it. But I doubt it will (be implemented)
Giulio
Received on 2012-03-09 15:11:14 CET