~lbrulet-8/compiz-plugins-main/fix-876591

« back to all changes in this revision

Viewing changes to text/.git/hooks/update.sample

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2011-04-07 14:21:07 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110407142107-jbaqbl4evltazmne
Tags: 0.9.4+bzr20110406-0ubuntu1
* New upstream snapshot:
  - Wall of desktop move wrong window (LP: #743634)
  - Wrong window moves (LP: #741656)
* 03_default_options.patch:
  Enforce switcher 'bring to front' to none to avoid seeing the launcher
  while doing ALT-Tab (LP: #750283)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
#
3
 
# An example hook script to blocks 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