EvoTalk

21 十一月, 2007

SVN: Modify Log Message

Posted by: asd In: 科技新知| 軟體使用 ()

進入 YourRepository\hooks 目錄,新建檔案「pre-revprop-change.bat」
內容

DOS:
  1. #!/bin/sh
  2.  
  3. # PRE-REVPROP-CHANGE HOOK
  4. #
  5. # The pre-revprop-change hook is invoked before a revision property
  6. # is added, modified or deleted.  Subversion runs this hook by invoking
  7. # a program (script, executable, binary, etc.) named 'pre-revprop-change'
  8. # (for which this file is a template), with the following ordered
  9. # arguments:
  10. #
  11. #   [1] REPOS-PATH   (the path to this repository)
  12. #   [2] REVISION     (the revision being tweaked)
  13. #   [3] USER         (the username of the person tweaking the property)
  14. #   [4] PROPNAME     (the property being set on the revision)
  15. #   [5] ACTION       (the property is being 'A'dded, 'M'odified, or 'D'eleted)
  16. #
  17. #   [STDIN] PROPVAL  ** the new property value is passed via STDIN.
  18. #
  19. # If the hook program exits with success, the propchange happens; but
  20. # if it exits with failure (non-zero), the propchange doesn't happen.
  21. # The hook program can use the 'svnlook' utility to examine the
  22. # existing value of the revision property.
  23. #
  24. # WARNING: unlike other hooks, this hook MUST exist for revision
  25. # properties to be changed.  If the hook does not exist, Subversion
  26. # will behave as if the hook were present, but failed.  The reason
  27. # for this is that revision properties are UNVERSIONED, meaning that
  28. # a successful propchange is destructive;  the old value is gone
  29. # forever.  We recommend the hook back up the old value somewhere.
  30. #
  31. # On a Unix system, the normal procedure is to have 'pre-revprop-change'
  32. # invoke other programs to do the real work, though it may do the
  33. # work itself too.
  34. #
  35. # Note that 'pre-revprop-change' must be executable by the user(s) who will
  36. # invoke it (typically the user httpd runs as), and that user must
  37. # have filesystem-level permission to access the repository.
  38. #
  39. # On a Windows system, you should name the hook program
  40. # 'pre-revprop-change.bat' or 'pre-revprop-change.exe',
  41. # but the basic idea is the same.
  42. #
  43. # The hook program typically does not inherit the environment of
  44. # its parent process.  For example, a common problem is for the
  45. # PATH environment variable to not be set to its usual value, so
  46. # that subprograms fail to launch unless invoked via absolute path.
  47. # If you're having unexpected problems with a hook program, the
  48. # culprit may be unusual (or missing) environment variables.
  49. #
  50. # Here is an example hook script, for a Unix /bin/sh interpreter.
  51. # For more examples and pre-written hooks, see those in
  52. # the Subversion repository at
  53. # http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and
  54. # http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
  55.  
  56.  
  57. # Here is an example hook script, for a Unix /bin/sh interpreter.# For more examples and pre-written hooks, see those in
  58. # the Subversion repository at
  59. # [url]http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/[/url] and
  60. # [url]http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/[/url]
  61. rem Only allow log messages to be changed.
  62. if "%4" == "svn:log" exit 0
  63. echo Property '%4' cannot be changed>&2
  64. exit 1

Most Commented Posts



1 Response to "SVN: Modify Log Message"

1 | Calvin Wang

八月 1st, 2008 at 11:58

Avatar

Thanks a lot! It saves me lots of troubles.

Comment Form