Thanks everyone for your replies. I ended up finding a solution for a windows-executable pre-revprop-change.bat script here:
http://stackoverflow.com/questions/6155/common-types-of-subversion-hooks/68850#68850 now to lobby the dev team to add mtime-handling options in future versions! Unfortunately, I don't see it in the plans for version 1.8, even though it was "1.8-consider" in the tigris bug tracker... alex On 1/25/2012 11:00 AM, Giulio Troccoli wrote: > > > On 25/01/12 15:09, Alexander Shenkin wrote: >> Hello, >> >> I'm using the svn import script by Oliver Betz to retain file mtime >> upon initial import >> (http://svn.haxx.se/users/archive-2006-10/1345.shtml), but i'm >> getting some errors. I'm hoping someone might be able to help me out. >> >> when i run the script, i get the following error: >> >> $ perl importWithMtime.pl >> svn propset svn:date 2001-10-29T18:34:10.000000Z --revprop -r HEAD >> svn: E175002: DAV request failed; it's possible that the >> repository's pre-revprop-change hook either failed or is >> non-existent >> svn: E175008: At least one property change failed; repository is >> unchanged >> svn: E175002: Error setting property 'date': >> Repository has not been enabled to accept revision propchanges; >> ask the administrator to create a pre-revprop-change hook >> >> I do have a pre-revprop-change.tmpl hook in the repository. It >> contains the code below. I'm using VisualSVN 2.5.2 on a Windows 7 >> x64 machine with Cygwin Perl and TortoiseSVN. Any help would be >> greatly appreciated! >> >> Thanks, >> Alex >> >> >> ------------------- >> >> $ cat pre-revprop-change.tmpl >> #!/bin/sh >> >> # PRE-REVPROP-CHANGE HOOK >> # >> # The pre-revprop-change hook is invoked before a revision property >> # is added, modified or deleted. Subversion runs this hook by invoking >> # a program (script, executable, binary, etc.) named >> 'pre-revprop-change' >> # (for which this file is a template), with the following ordered >> # arguments: >> # >> # [1] REPOS-PATH (the path to this repository) >> # [2] REV (the revision being tweaked) >> # [3] USER (the username of the person tweaking the property) >> # [4] PROPNAME (the property being set on the revision) >> # [5] ACTION (the property is being 'A'dded, 'M'odified, or >> 'D'eleted) >> # >> # [STDIN] PROPVAL ** the new property value is passed via STDIN. >> # >> # If the hook program exits with success, the propchange happens; but >> # if it exits with failure (non-zero), the propchange doesn't happen. >> # The hook program can use the 'svnlook' utility to examine the >> # existing value of the revision property. >> # >> # WARNING: unlike other hooks, this hook MUST exist for revision >> # properties to be changed. If the hook does not exist, Subversion >> # will behave as if the hook were present, but failed. The reason >> # for this is that revision properties are UNVERSIONED, meaning that >> # a successful propchange is destructive; the old value is gone >> # forever. We recommend the hook back up the old value somewhere. >> # >> # On a Unix system, the normal procedure is to have 'pre-revprop-change' >> # invoke other programs to do the real work, though it may do the >> # work itself too. >> # >> # Note that 'pre-revprop-change' must be executable by the user(s) >> who will >> # invoke it (typically the user httpd runs as), and that user must >> # have filesystem-level permission to access the repository. >> # >> # On a Windows system, you should name the hook program >> # 'pre-revprop-change.bat' or 'pre-revprop-change.exe', >> # but the basic idea is the same. >> # >> # The hook program typically does not inherit the environment of >> # its parent process. For example, a common problem is for the >> # PATH environment variable to not be set to its usual value, so >> # that subprograms fail to launch unless invoked via absolute path. >> # If you're having unexpected problems with a hook program, the >> # culprit may be unusual (or missing) environment variables. >> # >> # Here is an example hook script, for a Unix /bin/sh interpreter. >> # For more examples and pre-written hooks, see those in >> # the Subversion repository at >> # >> http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and >> # http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ >> >> >> REPOS="$1" >> REV="$2" >> USER="$3" >> PROPNAME="$4" >> ACTION="$5" >> >> if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi >> >> echo "Changing revision properties other than svn:log is prohibited" >&2 >> exit 1 > > > The hook has to be called pre-revprop-change on *nix systems and be > executable or pre-revprop-change.bat on Windows. So, no .tmpl extension.