git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] contrib/hooks: avoid requiring root access in usage instructions

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Oct 20, 2012, 00:31 UTC
Message-ID
<20121020003104.GA26596@elie.Belkin>
Comments in hooks/post-receive-email suggest:
 For example, on debian the hook is stored in
 /usr/share/git-core/contrib/hooks/post-receive-email:
  chmod a+x post-receive-email
  cd /path/to/your/repository.git
  ln -sf /usr/share/git-core/contrib/hooks/post-receive-email hooks/post-receive

Doing that means changing permissions on a file provided by a package, which is problematic in a number of ways: the permissions would be likely to change back in later upgrades, and changing them requires root access. Copying the script into each repo that uses it is not much better, since each copy would be maintained separately and not benefit from bugfixes in the master copy.

Better to ship the hook with executable permission and remove the chmod line so enabling the hook becomes a one-step process: just symlink it into place.

Likewise for the pre-auto-gc-battery hook.
Reported-by: Olivier Berger <olivier.berger@it-sudparis.eu>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
From <http://bugs.debian.org/687391>.

Thoughts? Jonathan

 contrib/hooks/post-receive-email  | 1 -
 contrib/hooks/pre-auto-gc-battery | 1 -
 2 files changed, 2 deletions(-)
 mode change 100644 => 100755 contrib/hooks/pre-auto-gc-battery
diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
index 8ca6607a..359f1ad2 100755
--- a/contrib/hooks/post-receive-email
+++ b/contrib/hooks/post-receive-email
@@ -13,7 +13,6 @@
 # For example, on debian the hook is stored in
 # /usr/share/git-core/contrib/hooks/post-receive-email:
 #
-#  chmod a+x post-receive-email
 #  cd /path/to/your/repository.git
 #  ln -sf /usr/share/git-core/contrib/hooks/post-receive-email hooks/post-receive
 #
diff --git a/contrib/hooks/pre-auto-gc-battery b/contrib/hooks/pre-auto-gc-battery
old mode 100644
new mode 100755
index 1f914c94..9d0c2d19
--- a/contrib/hooks/pre-auto-gc-battery
+++ b/contrib/hooks/pre-auto-gc-battery
@@ -13,7 +13,6 @@
 # For example, if the hook is stored in
 # /usr/share/git-core/contrib/hooks/pre-auto-gc-battery:
 #
-# chmod a+x pre-auto-gc-battery
 # cd /path/to/your/repository.git
 # ln -sf /usr/share/git-core/contrib/hooks/pre-auto-gc-battery \
 #	hooks/pre-auto-gc
-- 
1.8.0.rc2
Next: Junio C Hamano
Message 1 of 3 in “contrib/hooks: avoid requiring root access in usage instructions”
  1. contrib/hooks: avoid requiring root access in usage instructionsJonathan Nieder, Oct 20, 2012
  2. Junio C HamanoOct 20, 2012
  3. Jonathan NiederOct 20, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.