"Fossies" - the Fresh Open Source Software Archive

Member "pacpl-code/.git/hooks/update.sample" (9 Feb 2021, 3610 Bytes) of package /linux/privat/pacpl-6.1.3.tar.bz2:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/sh
    2 #
    3 # An example hook script to block unannotated tags from entering.
    4 # Called by "git receive-pack" with arguments: refname sha1-old sha1-new
    5 #
    6 # To enable this hook, rename this file to "update".
    7 #
    8 # Config
    9 # ------
   10 # hooks.allowunannotated
   11 #   This boolean sets whether unannotated tags will be allowed into the
   12 #   repository.  By default they won't be.
   13 # hooks.allowdeletetag
   14 #   This boolean sets whether deleting tags will be allowed in the
   15 #   repository.  By default they won't be.
   16 # hooks.allowmodifytag
   17 #   This boolean sets whether a tag may be modified after creation. By default
   18 #   it won't be.
   19 # hooks.allowdeletebranch
   20 #   This boolean sets whether deleting branches will be allowed in the
   21 #   repository.  By default they won't be.
   22 # hooks.denycreatebranch
   23 #   This boolean sets whether remotely creating branches will be denied
   24 #   in the repository.  By default this is allowed.
   25 #
   26 
   27 # --- Command line
   28 refname="$1"
   29 oldrev="$2"
   30 newrev="$3"
   31 
   32 # --- Safety check
   33 if [ -z "$GIT_DIR" ]; then
   34     echo "Don't run this script from the command line." >&2
   35     echo " (if you want, you could supply GIT_DIR then run" >&2
   36     echo "  $0 <ref> <oldrev> <newrev>)" >&2
   37     exit 1
   38 fi
   39 
   40 if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
   41     echo "usage: $0 <ref> <oldrev> <newrev>" >&2
   42     exit 1
   43 fi
   44 
   45 # --- Config
   46 allowunannotated=$(git config --bool hooks.allowunannotated)
   47 allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
   48 denycreatebranch=$(git config --bool hooks.denycreatebranch)
   49 allowdeletetag=$(git config --bool hooks.allowdeletetag)
   50 allowmodifytag=$(git config --bool hooks.allowmodifytag)
   51 
   52 # check for no description
   53 projectdesc=$(sed -e '1q' "$GIT_DIR/description")
   54 case "$projectdesc" in
   55 "Unnamed repository"* | "")
   56     echo "*** Project description file hasn't been set" >&2
   57     exit 1
   58     ;;
   59 esac
   60 
   61 # --- Check types
   62 # if $newrev is 0000...0000, it's a commit to delete a ref.
   63 zero="0000000000000000000000000000000000000000"
   64 if [ "$newrev" = "$zero" ]; then
   65     newrev_type=delete
   66 else
   67     newrev_type=$(git cat-file -t $newrev)
   68 fi
   69 
   70 case "$refname","$newrev_type" in
   71     refs/tags/*,commit)
   72         # un-annotated tag
   73         short_refname=${refname##refs/tags/}
   74         if [ "$allowunannotated" != "true" ]; then
   75             echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
   76             echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
   77             exit 1
   78         fi
   79         ;;
   80     refs/tags/*,delete)
   81         # delete tag
   82         if [ "$allowdeletetag" != "true" ]; then
   83             echo "*** Deleting a tag is not allowed in this repository" >&2
   84             exit 1
   85         fi
   86         ;;
   87     refs/tags/*,tag)
   88         # annotated tag
   89         if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
   90         then
   91             echo "*** Tag '$refname' already exists." >&2
   92             echo "*** Modifying a tag is not allowed in this repository." >&2
   93             exit 1
   94         fi
   95         ;;
   96     refs/heads/*,commit)
   97         # branch
   98         if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
   99             echo "*** Creating a branch is not allowed in this repository" >&2
  100             exit 1
  101         fi
  102         ;;
  103     refs/heads/*,delete)
  104         # delete branch
  105         if [ "$allowdeletebranch" != "true" ]; then
  106             echo "*** Deleting a branch is not allowed in this repository" >&2
  107             exit 1
  108         fi
  109         ;;
  110     refs/remotes/*,commit)
  111         # tracking branch
  112         ;;
  113     refs/remotes/*,delete)
  114         # delete tracking branch
  115         if [ "$allowdeletebranch" != "true" ]; then
  116             echo "*** Deleting a tracking branch is not allowed in this repository" >&2
  117             exit 1
  118         fi
  119         ;;
  120     *)
  121         # Anything else (is there anything else?)
  122         echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
  123         exit 1
  124         ;;
  125 esac
  126 
  127 # --- Finished
  128 exit 0