Svn revert all properties changes

If you use the revert option --depth empty, you'll revert changes only to paths explicitly specified on the command line and not recursively. So if those changes are property changes, that will be the only thing you revert.

Example: if you have the directory foo with unwanted property changes, but its content has modifications, the following will revert the property changes, but keep the modifications of its content:

$ svn revert --depth empty foo

as is demonstrated here:

$ svn status foo
 M      foo
M       foo/bar
$ svn revert --depth empty foo
$ svn status foo
M       foo/bar

Turns out that Tortoise SVN can do this really nicely. In the commit dialog you can sort the "modified" files by "text status" or "properties status". I simply sorted by text status and then reverted all the "modified" files which had "normal" "text status".


Revert all property changes with PowerShell.

> @(svn status) -match '^ M' | `
>>> % { ($_ -split 'M\s+')[1] } | `
>>> % { svn revert --depth empty $_ }

Credit to Jerome Jaglale and TheJuice for the general approach.

Note the backtick ` symbol indicates a new line.


svn revert `svn status | grep '^ M' | sed 's/^ M \+//g'`

Tags:

Svn