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

Re: [PATCH] contrib/hooks/post-receive-email: get description from repo.git/config

From
TATrond Hasle Amundsen <t.h.amundsen@usit.uio.no>
Date
May 6, 2013, 16:26 UTC
Message-ID
<15t38u0cbw7.fsf@tux.uio.no>
In-Reply-To
<7vtxmgruhc.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> 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.
Show 7 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.
So many rules.. ;) Also noted.
Show 24 quoted lines
>> +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.

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 <t.h.amundsen@usit.uio.no>
Center for Information Technology Services, University of Oslo
Previous: Junio C Hamano
Message 15 of 15 in “contrib/hooks/post-receive-email: get description from repo.git/config”
  1. contrib/hooks/post-receive-email: get description from repo.git/configTrond Hasle Amundsen, May 6, 2013
  2. Trond Hasle AmundsenMay 6, 2013
  3. Junio C HamanoMay 6, 2013
  4. Matthieu MoyMay 6, 2013
  5. Trond Hasle AmundsenMay 6, 2013
  6. Junio C HamanoMay 7, 2013
  7. Michael HaggertyMay 7, 2013
  8. Junio C HamanoMay 7, 2013
  9. Matthieu MoyMay 7, 2013
  10. Junio C HamanoJul 1, 2013
  11. Michael HaggertyJul 2, 2013
  12. Junio C HamanoJul 2, 2013
  13. Matthieu MoyMay 7, 2013
  14. Junio C HamanoMay 7, 2013
  15. Trond Hasle AmundsenMay 6, 2013

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.