Re: [PATCH] contrib/hooks/post-receive-email: get description from repo.git/config
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 6, 2013, 15:36 UTC
- Message-ID
- <7vtxmgruhc.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <15tsj20cizd.fsf@tux.uio.no>
Trond Hasle Amundsen <t.h.amundsen@usit.uio.no> 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.
Show 5 quoted lines
> > From 878a7af9088e2bcc3afc9b09b9023f1f188c844b Mon Sep 17 00:00:00 2001 > From: Trond Hasle Amundsen <t.h.amundsen@usit.uio.no> > 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.
Show 33 quoted lines
> > 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 <t.h.amundsen@usit.uio.no> > --- > 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"
fito 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 ;-)