34 lines
		
	
	
		
			508 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			508 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| #
 | |
| # A generic git hook proxy.
 | |
| # https://git-scm.com/docs/githooks
 | |
| 
 | |
| run() {
 | |
|   hook=$1
 | |
|   file=$2
 | |
| 
 | |
|   n=$(echo "${file}" |sed "s/^.*${hook}\.//")
 | |
|   echo "running ${n} ${hook}"
 | |
|   ${file}
 | |
| }
 | |
| 
 | |
| die() {
 | |
|   hook=$1
 | |
|   echo "${hook} hook did not succeed" >&2
 | |
|   exit 1
 | |
| }
 | |
| 
 | |
| # Redirect output to stderr.
 | |
| exec 1>&2
 | |
| 
 | |
| githooks='.githooks'
 | |
| basename=$(basename "$0")
 | |
| 
 | |
| for f in $(cd ${githooks} && echo *); do
 | |
|   case "${f}" in
 | |
|     ${basename}.*)
 | |
|       run ${basename} "${githooks}/${f}" || die "${f}"
 | |
|       ;;
 | |
|   esac
 | |
| done
 |