Re: [PATCH] contrib/hooks/post-receive-email: get description from repo.git/config
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:09
Trond Hasle Amundsen [off-list ref] writes:
Hello, The included patch attempts to improve post-receive-email. It's a
Please don't ;-) Eh, actually, thanks for the patch. But when you send a patch the next time around, please have the above and the next three lines (i.e. "introductory text") _below_ the three-dash line.
trivial change, but one that helps us Gitolite users. Comments are welcome, and this is my first attempt at contributing to the Git project. Please keep me on CC as I'm not on the list.
From 878a7af9088e2bcc3afc9b09b9023f1f188c844b Mon Sep 17 00:00:00 2001 From: Trond Hasle Amundsen <redacted> Date: Mon, 6 May 2013 15:41:25 +0200 Subject: [PATCH] contrib/hooks/post-receive-email: get description from repo.git/config
And remove these five lines above. We will read the authorship and subject from the e-mail header of your message.
quoted hunk
When getting the project description, we first try gitweb.description entry in repo.git/config, but repo.git/description takes precedence if it exists. This behaviour mimics that of Gitweb, and is what we want when using Gitolite, which deletes repo.git/description upon repo creation and rather maintains a gitweb.description entry in repo.git/config if a description is configured. Signed-off-by: Trond Hasle Amundsen <redacted> --- contrib/hooks/post-receive-email | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email index 0e5b72d..6ce046a 100755 --- a/contrib/hooks/post-receive-email +++ b/contrib/hooks/post-receive-email@@ -714,7 +714,14 @@ if [ -z "$GIT_DIR" ]; then exit 1 fi -projectdesc=$(sed -ne '1p' "$GIT_DIR/description" 2>/dev/null) +# Get the repo's description. First try gitweb.description entry in +# repo.git/config, but repo.git/description takes precedence if it +# exists. This behaviour mimics that of Gitweb. +projectdesc=$(git config gitweb.description) +if [ -f "$GIT_DIR/description" ]; then + projectdesc=$(sed -ne '1p' "$GIT_DIR/description" 2>/dev/null) +fi + # Check if the description is unchanged from it's default, and shorten it to # a more manageable length if it is if expr "$projectdesc" : "Unnamed repository.*$" >/dev/null
If description file takes precedence, then the right order to do
this would be
projectdesc=$(sed -ne 1p "$GIT_DIR/description" 2>/dev/null)
if expr "$projectdesc" : "Unnamed repository" >/dev/null
then
: use it as is
elif projectdesc=$(git config gitweb.description)
then
: use it as is
else
projectdesc="UNNAMED PROJECT"
fi
to avoid calling "git config" when it is not even necessary.
We can obviously shorten it by making it less readable, e.g.
projectdesc=$(sed -ne 1p "$GIT_DIR/description" 2>/dev/null)
! expr "$projectdesc" : "Unnamed repository" >/dev/null ||
projectdesc=$(git config gitweb.description) ||
projectdesc="UNNAMED PROJECT"
but I do not think we want to go in that direction ;-)