Describe configurable custom hooks in sample hooks
[gitorious:sirfabios-mainline.git] / data / hooks / custom-update.sample
1 #!/usr/bin/env ruby
2
3 # Custom update hook
4 # -----------------------
5
6 # Enable by renaming from custom-update.sample to custom-update. Once
7 # renamed, it can be customized freely and is not version controlled.
8 # Content of this script can be changed to regular shellscript, no
9 # need to be ruby code.
10
11 # Alternatively, enable custom update hook by configuring the path to
12 # an executable script in gitorious.yml:
13 #
14 # custom_update_hook: /my/hook
15
16 # Called at the end of the standard Gitorious update hook. Like the
17 # regular update hook, the custom update hook is called once per
18 # pushed reference, taking the name of the reference, original commit
19 # sha and attempted new commit sha as params.
20
21 # Anything written to stdout (e.g 'puts("foo")') and stderr will be
22 # passed back over the line to the user who started the git push.
23
24 # exit!(EXITCODE), or raising exceptions, will abort push of
25 # the current reference (and only that reference, others may be pushed
26 # just fine.)
27
28 # More on the "pre-receive", "update" and "update" serverside hooks:
29 # http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Server-Side-Hooks
30
31 puts "[DEBUG] CUSTOM UPDATE HOOK STARTS"
32
33 reference_name = ARGV[0]
34 sha_before = ARGV[1]
35 sha_after = ARGV[2]
36
37 puts "[DEBUG] REFERENCE PUSHED: #{reference_name}"
38 puts "[DEBUG] ORIGINAL SHA: #{sha_before}"
39 puts "[DEBUG] REFERENCE PUSHED: #{sha_after}"
40
41 puts "[DEBUG] CUSTOM UPDATE HOOK ENDS"