From: Heiko Voigt <hvoigt@hvoigt.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: [PATCH v2] Extend sample update hook, disable modifying of existing tags
Date: Fri, 8 May 2009 17:22:30 +0200 [thread overview]
Message-ID: <20090508152230.GA7802@macbook.lan> (raw)
In-Reply-To: <7vzldobgrm.fsf@alter.siamese.dyndns.org>
Because no special rule for this existed it was allowed by default
Signed-off-by: Heiko Voigt <heiko.voigt@mahr.de>
---
On Thu, May 07, 2009 at 05:05:49PM -0700, Junio C Hamano wrote:
> Heiko Voigt <hvoigt@hvoigt.net> writes:
>
> > Because no special rule for this existed it was allowed by default
>
> I do not disagree that it is a good thing to be able to reject
> overwriting, but I do not think it is a _fix_. allowdeletetag is about
> _deletion_ and it already is covered by the code, isn't it?
> I think it would make more sense to introduce $allowmodifytag and reject
> such pushes in the codepath you touched.
You are (as usual) right. I was actually thinking about adding another
variable but then thought it might become to complex, but if you are
asking for it. Here it is ;)
cheers Heiko
templates/hooks--update.sample | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/templates/hooks--update.sample b/templates/hooks--update.sample
index f8bf490..fd63b2d 100755
--- a/templates/hooks--update.sample
+++ b/templates/hooks--update.sample
@@ -13,6 +13,9 @@
# hooks.allowdeletetag
# This boolean sets whether deleting tags will be allowed in the
# repository. By default they won't be.
+# hooks.allowmodifytag
+# This boolean sets whether a tag may be modified after creation. By default
+# it won't be.
# hooks.allowdeletebranch
# This boolean sets whether deleting branches will be allowed in the
# repository. By default they won't be.
@@ -44,6 +47,7 @@ allowunannotated=$(git config --bool hooks.allowunannotated)
allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
denycreatebranch=$(git config --bool hooks.denycreatebranch)
allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
# check for no description
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
@@ -82,6 +86,12 @@ case "$refname","$newrev_type" in
;;
refs/tags/*,tag)
# annotated tag
+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+ then
+ echo "*** Tag '$refname' already exists." >&2
+ echo "*** Modifying a tag is not allowed in this repository." >&2
+ exit 1
+ fi
;;
refs/heads/*,commit)
# branch
--
1.6.2.1.423.g442d
prev parent reply other threads:[~2009-05-08 15:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-07 16:40 [PATCH] fix sample update hook, disable overwriting of existing tags Heiko Voigt
2009-05-08 0:05 ` Junio C Hamano
2009-05-08 15:22 ` Heiko Voigt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090508152230.GA7802@macbook.lan \
--to=hvoigt@hvoigt.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.