How to revert files with specific extension in svn?
Question
I would like to do something like this:
svn revert --recursive mydata/*/*.txt
and I want it to revert all files which have extension *.txt in the directory mydata. Is there a way to do that?
Solution
On a POSIX-compatible OS (Linux/Mac/Cygwin):
find mydata -mindepth 2 -name \*.txt | xargs svn revert
On Windows (use %%G in a batch file, %G on the command line):
FOR /R mydata %G IN (*.txt) DO svn revert "%G"
Strictly speaking, the Windows command will affect mydata/*.txt
, mydata/*/*.txt
, mydata/*/*/*.txt
, and so on, so maybe it's not exactly what you're looking for... but maybe it's enough to get you there.
OTHER TIPS
Are you using Linux or some other Unix variant which supports find
? (Heck, it would probably be fine in cygwin too.) If so, try this:
svn revert `find mydata -name '*.txt'`
If you've got a lot of files you may need to use xargs
instead.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow