Re: [PATCH] contrib/hooks/post-receive-email: get description from repo.git/config
From: Trond Hasle Amundsen <hidden>
Date: 2016-06-15 22:57:09
Junio C Hamano [off-list ref] writes:
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.
Allright, noted.
quoted
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/configAnd remove these five lines above. We will read the authorship and subject from the e-mail header of your message.
So many rules.. ;) Also noted.
quoted
+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/nullIf 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.
That doesn't work, you'll always call "git config" unless the string
matches "Unnamed repository". If you negate the expr line it still
doesn't work. To avoid calling "git config" I'd rather suggest something
like this:
projectdesc=$(sed -ne 1p "$GIT_DIR/description" 2>/dev/null)
if [ -z "$projectdesc" ]; then
projectdesc=$(git config gitweb.description)
fi
And let this block remain intact:
if expr "$projectdesc" : "Unnamed repository.*$" >/dev/null
then
projectdesc="UNNAMED PROJECT"
fi
The only change would then be the three added lines containing the if
block that calls "git config" if the "projectdesc" variable is
empty. The idea is just to get the description from config if the
description file doesn't exist.
Just curious.. why would we avoid calling "git config" unless necessary?
Regards,
--
Trond H. Amundsen [off-list ref]
Center for Information Technology Services, University of Oslo