All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Emily Shaffer <emilyshaffer@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] bugreport: collect list of populated hooks
Date: Fri, 24 Apr 2020 17:30:02 -0700	[thread overview]
Message-ID: <20200425003002.GC17217@google.com> (raw)
In-Reply-To: <20200424233800.200439-1-emilyshaffer@google.com>

Emily Shaffer wrote:

> Occasionally a failure a user is seeing may be related to a specific
> hook which is being run, perhaps without the user realizing. While the
> contents of hooks can be sensitive - containing user data or process
> information specific to the user's organization - simply knowing that a
> hook is being run at a certain stage can help us to understand whether
> something is going wrong.

Nice.

[...]
>  Documentation/git-bugreport.txt |  1 +
>  bugreport.c                     | 52 +++++++++++++++++++++++++++++++++
>  2 files changed, 53 insertions(+)

Can this functionality be demonstrated in a test?

> diff --git a/Documentation/git-bugreport.txt b/Documentation/git-bugreport.txt
> index 643d1b2884..7fe9aef34e 100644
> --- a/Documentation/git-bugreport.txt
> +++ b/Documentation/git-bugreport.txt
> @@ -28,6 +28,7 @@ The following information is captured automatically:
>   - 'git version --build-options'
>   - uname sysname, release, version, and machine strings
>   - Compiler-specific info string
> + - A list of enabled hooks
>  
>  This tool is invoked via the typical Git setup process, which means that in some
>  cases, it might not be able to launch - for example, if a relevant config file
> diff --git a/bugreport.c b/bugreport.c
> index 089b939a87..ce32145bce 100644
> --- a/bugreport.c
> +++ b/bugreport.c
> @@ -5,6 +5,8 @@
>  #include "time.h"

Not about this patch: this is for the system header <time.h>, right?
Git includes the same system headers in (almost) all source files, via
cache.h or git-compat-util.h, so it should be possible to leave this
#include out.  (Handling it in one place gives us a chance to get
portability gotchas around names of headers, macros like _POSIX_SOURCE,
and so on right).

[...]
> +	/*
> +	 * NEEDSWORK: Doesn't look like there is a list of all possible hooks;
> +	 * so below is a transcription of `git help hooks`. Later, this should
> +	 * be replaced with some programmatically generated list (generated from
> +	 * doc or else taken from some library which tells us about all the
> +	 * hooks)
> +	 */
> +	const char *hook[] = {
> +		"applypatch-msg",
> +		"pre-applypatch",
> +		"post-applypatch",
> +		"pre-commit",
> +		"pre-merge-commit",
> +		"prepare-commit-msg",
> +		"commit-msg",
> +		"post-commit",
> +		"pre-rebase",
> +		"post-checkout",
> +		"post-merge",
> +		"pre-push",
> +		"pre-receive",
> +		"update",
> +		"post-receive",
> +		"post-update",
> +		"push-to-checkout",
> +		"pre-auto-gc",
> +		"post-rewrite",
> +		"sendemail-validate",
> +		"fsmonitor-watchman",
> +		"p4-pre-submit",
> +		"post-index-change",
> +	};

Interesting.   It would be possible to do some gettext-style trickery
involving scanning for run_hook calls, but converting to an enum as
you've suggested previously sounds simpler.

Thanks,
Jonathan

  reply	other threads:[~2020-04-25  0:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24 23:38 [PATCH] bugreport: collect list of populated hooks Emily Shaffer
2020-04-25  0:30 ` Jonathan Nieder [this message]
2020-04-27 20:48   ` [PATCH] bugreport: drop time.h include Emily Shaffer
2020-04-27 21:03     ` Jonathan Nieder
2020-04-27 21:25       ` Junio C Hamano
2020-04-27 21:41         ` Junio C Hamano
2020-04-27 21:56           ` Emily Shaffer
2020-04-27 23:27             ` Junio C Hamano
2020-04-27 23:42     ` [PATCH v2] bugreport: drop extraneous includes Emily Shaffer
2020-04-27 23:46       ` Jonathan Nieder
2020-04-25  4:52 ` [PATCH] bugreport: collect list of populated hooks Junio C Hamano
2020-04-27 19:02   ` Emily Shaffer
2020-04-27 20:46     ` Junio C Hamano
2020-04-27 20:49       ` Emily Shaffer
2020-04-27 23:38 ` [PATCH v2] " Emily Shaffer
2020-04-27 23:45   ` Jonathan Nieder
2020-04-28  0:04     ` Junio C Hamano
2020-04-30  0:01     ` Emily Shaffer
2020-04-30  1:24   ` [PATCH v3] " Emily Shaffer
2020-04-30  1:50     ` Jonathan Nieder
2020-04-30  1:53       ` Jonathan Nieder
2020-04-30 17:44       ` Junio C Hamano
2020-04-30 22:09         ` Junio C Hamano
2020-05-07 21:08           ` Emily Shaffer
2020-05-07 23:06             ` Junio C Hamano
2020-05-11 21:26               ` Emily Shaffer
2020-05-08  0:53     ` [PATCH v4] " Emily Shaffer
2020-05-08  1:20       ` Junio C Hamano
2020-05-08  1:34       ` Đoàn Trần Công Danh
2020-05-11 21:22         ` Emily Shaffer
2020-05-11 22:14       ` [PATCH v5] " Emily Shaffer
2020-05-11 23:26         ` Jonathan Nieder
2020-05-11 23:45         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200425003002.GC17217@google.com \
    --to=jrnieder@gmail.com \
    --cc=emilyshaffer@google.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.