Merge branch 'add-git-pre-push-script' of https://github.com/marvil07/chamilo-lms into alpha
	
		
	
				
					
				
			
						commit
						ea3f9aa840
					
				@ -0,0 +1,58 @@ | 
				
			||||
#!/bin/sh | 
				
			||||
 | 
				
			||||
# An example hook script to verify what is about to be pushed.  Called by "git | 
				
			||||
# push" after it has checked the remote status, but before anything has been | 
				
			||||
# pushed.  If this script exits with a non-zero status nothing will be pushed. | 
				
			||||
# | 
				
			||||
# This hook is called with the following parameters: | 
				
			||||
# | 
				
			||||
# $1 -- Name of the remote to which the push is being done | 
				
			||||
# $2 -- URL to which the push is being done | 
				
			||||
# | 
				
			||||
# If pushing without using a named remote those arguments will be equal. | 
				
			||||
# | 
				
			||||
# Information about the commits which are being pushed is supplied as lines to | 
				
			||||
# the standard input in the form: | 
				
			||||
# | 
				
			||||
#   <local ref> <local sha1> <remote ref> <remote sha1> | 
				
			||||
# | 
				
			||||
# This sample shows how to prevent push of commits where the log message starts | 
				
			||||
# with "WIP" (work in progress). | 
				
			||||
 | 
				
			||||
remote="$1" | 
				
			||||
url="$2" | 
				
			||||
 | 
				
			||||
z40=0000000000000000000000000000000000000000 | 
				
			||||
composer=${composer-'composer'} | 
				
			||||
 | 
				
			||||
while read local_ref local_sha remote_ref remote_sha | 
				
			||||
do | 
				
			||||
    if [ "$local_sha" = $z40 ] | 
				
			||||
    then | 
				
			||||
        # Handle delete | 
				
			||||
        : | 
				
			||||
    else | 
				
			||||
        if [ "$remote_sha" = $z40 ] | 
				
			||||
        then | 
				
			||||
            # New branch, examine all commits | 
				
			||||
            range="$local_sha" | 
				
			||||
        else | 
				
			||||
            # Update to existing branch, examine new commits | 
				
			||||
            range="$remote_sha..$local_sha" | 
				
			||||
        fi | 
				
			||||
 | 
				
			||||
        # Run coding standards check over modified files. | 
				
			||||
        modified_files=`git diff --diff-filter=d --name-only "$range"` | 
				
			||||
        if [ -n "$modified_files" ] | 
				
			||||
        then | 
				
			||||
            $composer phpcs $modified_files | 
				
			||||
            if [ $? -ne 0 ] | 
				
			||||
            then | 
				
			||||
                echo >&2 "A coding standards regressions was introduced, please fix it before pushing." | 
				
			||||
                exit 1 | 
				
			||||
            fi | 
				
			||||
        fi | 
				
			||||
    fi | 
				
			||||
done | 
				
			||||
 | 
				
			||||
exit 0 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue