Thread (1 message) 1 message, 1 author, 2016-06-15

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/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.
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/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 [off-list ref]
Center for Information Technology Services, University of Oslo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help