SAS | Using Git and multi-repository environments

Inhaltsverzeichnis [Anzeigen]

Using Git Hooks

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ git config --global core.hooksPath .githooks
$ git config --global core.hooksPath .githooks
$ git config --global core.hooksPath .githooks

Anhang: .githooks

prepare-commit-msg

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/bash
#
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
branchPath=$(git symbolic-ref -q HEAD)
branchName=${branchPath##*/}
if [ -n "$branchName" ]; then
echo "branchName|(cat $1)" > $1
fi
#!/bin/bash # COMMIT_MSG_FILE=1COMMITSOURCE=2 SHA1=3branchPath=(git symbolic-ref -q HEAD) branchName={branchPath##*/} if [ -n "branchName" ]; then echo "branchName|(cat 1)">1 fi
#!/bin/bash
#

COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3

branchPath=$(git symbolic-ref -q HEAD)
branchName=${branchPath##*/}


if [ -n "$branchName" ]; then
    echo "$branchName | $(cat $1)" > $1
fi

pre-commit

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/bash
#
_BRANCHPATH=$(git symbolic-ref -q HEAD)
_BRANCH=${_BRANCHPATH##*/}
_TIMESTAMP="$(date '+
LOG() {
if [[ "$GIT_COMMIT_DETAILED_LOGGING" == "YES" ]]; then
echo "LOG: $*"
fi
}
REPLACE()
{
local _TYP; _TYP="$1"; shift
local _TAG; _TAG="$1"; shift
local _WITH; _WITH="$1"; shift
local _FILE; _FILE="$1"; shift
case "$_TYP" in
SAS) #
perl -pi -e 's/(.*)(
;;
CUSTOMER) # /* __DEPLOY_TAG =
perl -pi -e 's/(\/\*\s*)('"__DEPLOY_$_TAG"'\s*=\s*)(.*)/{1}${2}
;;
*) LOG "Undefined typ '$TYP' for file $_FILE"
;;
esac
rm -f "${_FILE}.bak"
}
LOG "working on branch $_BRANCH"
for _FILE in $(git diff-index --name-status --cached HEAD | grep -v ^D | cut -c3-)
do
LOG "checking file $_FILE"
# Only examine known text files
if [[ "$_FILE" =~ [.](sas)$ ]]; then
LOG "working on file $_FILE"
REPLACE SAS TAG "$_BRANCH" "$_FILE"
REPLACE SAS TIMESTAMP "$_TIMESTAMP" "$_FILE"
fi
if [[ "$_FILE" =~ ^MA03 ]]; then
LOG "working on bihis-customer script $_FILE"
REPLACE CUSTOMER TAG "$_BRANCH" "$_FILE"
REPLACE CUSTOMER TIMESTAMP "$_TIMESTAMP" "$_FILE"
fi
done
#!/bin/bash # _BRANCHPATH=(gitsymbolicrefqHEAD)BRANCH={_BRANCHPATH##*/} _TIMESTAMP="(date '+

LOG() {
        if [[ "$GIT_COMMIT_DETAILED_LOGGING" == "YES" ]]; then
                echo "LOG: $*"
        fi
}

REPLACE()
{
   local _TYP;   _TYP="$1"; shift
   local _TAG;   _TAG="$1"; shift
   local _WITH; _WITH="$1"; shift
   local _FILE; _FILE="$1"; shift

   case "$_TYP" in
      SAS)       #  
                 perl -pi -e 's/(.*)(
                ;;
      CUSTOMER) # /* __DEPLOY_TAG = 
                perl -pi -e 's/(\/\*\s*)('"__DEPLOY_$_TAG"'\s*=\s*)(.*$)/${1}${2}
                ;;
      *)        LOG "Undefined typ '$TYP' for file $_FILE"
                ;;
   esac

   rm -f "${_FILE}.bak"
}

LOG "working on branch
_BRANCH" for _FILE in (gitdiffindexnamestatuscachedHEAD|grepvD|cutc3)doLOG"checkingfile_FILE" # Only examine known text files if [[ "FILE"= [.](sas) ]]; then LOG "working on file FILE"REPLACESASTAG"_BRANCH" "FILE"REPLACESASTIMESTAMP"_TIMESTAMP" "FILE"fiif[["_FILE" =~ ^MA03 ]]; then LOG "working on bihis-customer script FILE"REPLACECUSTOMERTAG"_BRANCH" "FILE"REPLACECUSTOMERTIMESTAMP"_TIMESTAMP" "$_FILE" fi done
#!/bin/bash
#

_BRANCHPATH=$(git symbolic-ref -q HEAD)
_BRANCH=${_BRANCHPATH##*/}

_TIMESTAMP="$(date '+

LOG() {
        if [[ "$GIT_COMMIT_DETAILED_LOGGING" == "YES" ]]; then
                echo "LOG: $*"
        fi
}

REPLACE()
{
   local _TYP;   _TYP="$1"; shift
   local _TAG;   _TAG="$1"; shift
   local _WITH; _WITH="$1"; shift
   local _FILE; _FILE="$1"; shift

   case "$_TYP" in
      SAS)       #  
                 perl -pi -e 's/(.*)(
                ;;
      CUSTOMER) # /* __DEPLOY_TAG = 
                perl -pi -e 's/(\/\*\s*)('"__DEPLOY_$_TAG"'\s*=\s*)(.*$)/${1}${2}
                ;;
      *)        LOG "Undefined typ '$TYP' for file $_FILE"
                ;;
   esac

   rm -f "${_FILE}.bak"
}

LOG "working on branch $_BRANCH"

for _FILE in $(git diff-index --name-status --cached HEAD | grep -v ^D | cut -c3-)
do
        LOG "checking file $_FILE"

        # Only examine known text files
        if [[ "$_FILE" =~ [.](sas)$ ]]; then
                LOG "working on file $_FILE"
                REPLACE SAS TAG       "$_BRANCH"    "$_FILE"
                REPLACE SAS TIMESTAMP "$_TIMESTAMP" "$_FILE"
        fi

        if [[ "$_FILE" =~ ^MA03 ]]; then
                LOG "working on bihis-customer script  $_FILE"
                REPLACE CUSTOMER TAG       "$_BRANCH"    "$_FILE"
                REPLACE CUSTOMER TIMESTAMP "$_TIMESTAMP" "$_FILE"
        fi
done