Question

How can I delete all files that are being ignored within a Subversion checkout? Effectively to bring it back to the equivalent of a pristine checkout.

Was it helpful?

Solution

I use this script when I want to clean out a working copy. It removes all unknown and ignored files.

svn status --no-ignore | awk '$1=="?"||$1=="I" { print $2 }' | xargs -i rm -rf {}

OTHER TIPS

If TortoiseSVN, you can Check for modifications, Show ignored files, right click and delete.

karoberts' solution doesn't work on Mac OS X (Snow Leopard). Neither does another command I found on a blog

I get

xargs: illegal option -- i

and

xargs: illegal option -- d

respectively.

This works on Mac (adapted from karoberts'):

svn status | awk '$1=="?"||$1=="I" { print $2 }' | xargs rm -rf

You may want to first reverse the ignore state of those files (ref How do I Unignore a file in TortoiseSVN? for details) and then you can delete and commit back the changes from your workspace methinks.

Here's another way of doing it.

svn status --no-ignore | grep "^[\?I]" | sed 's%^........%%' | xargs -d "\\n" rm -rv
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top