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'`