What is the pre-revprop-change hook ?
The pre-revprop-change script is launched before any property is modified on the Subversion repository.
Because Subversion’s revision properties are not versioned, making modifications will overwrite the previous value of that property and since data can be lost, Subversion supplies this hook to log changes or enable only some properties to be changed, …
revprop change blocked by pre-revprop-change hook (exit code 255) with no output is a common error when playing with revision properties that can be solved in two simple steps.
Check the pre-revprop-change hook existence
By default, there only a template hook named pre-revprop-change.tmpl in the repository hooks folder.
You need a pre-revprop-change file, so you can rename it to only enable svn:log and svn:author (Commit log message & author) :
1 |
mv hooks/pre-revprop-change.tmpl hooks/pre-revprop-change |
Or make your own hook to enable all properties to be changed :
1 |
vi hooks/pre-revprop-change |
then insert
1 2 |
#!/bin/sh exit 0; |
The exit 0; instruction is equivalent to a success for svn, so this one will allow EVERY revision properties on repository to be changed (Useful for svnsync).
Give the execution right to pre-revprop-change hook
It’s a common mistake to forget enabling execution right to the hook
1 |
chmod +x hooks/pre-revprop-change |
This is the second step, you are now able to change revision properties on your repository.
(exit code 1)
In case you obtain revprop change blocked by pre-revprop-change hook (exit code 1), this mean that pre-revprop-change hook is enabled, executable, but it does not allow you to modify the revision property you’re trying to change.
Check the message it return (unless with no output is specified), check the hook code, if you can’t or are not allowed to do theses things, check repository hosting documentation or contact your repository administrator.