From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Emily Shaffer <emilyshaffer@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v9 2/5] bugreport: add tool to generate debugging info
Date: Wed, 4 Mar 2020 22:35:04 +0100 (CET) [thread overview]
Message-ID: <nycvar.QRO.7.76.6.2003042232340.46@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <20200302230400.107428-3-emilyshaffer@google.com>
Hi,
On Mon, 2 Mar 2020, Emily Shaffer wrote:
> .gitignore | 1 +
> Documentation/git-bugreport.txt | 46 ++++++++++++++
> Makefile | 5 ++
> bugreport.c | 105 ++++++++++++++++++++++++++++++++
> command-list.txt | 1 +
> strbuf.c | 4 ++
> strbuf.h | 1 +
> t/t0091-bugreport.sh | 61 +++++++++++++++++++
> 8 files changed, 224 insertions(+)
> create mode 100644 Documentation/git-bugreport.txt
> create mode 100644 bugreport.c
> create mode 100755 t/t0091-bugreport.sh
Hmm. I am still _quite_ convinced that this would be much better as a
built-in. Remember, non-built-ins come with a footprint, and I do not
necessarily think that you will want to spend 3MB on a `git-bugreport`
executable when you could have it for a couple dozen kilobytes inside
`git` instead.
Ciao,
Dscho
>
> diff --git a/.gitignore b/.gitignore
> index ea97de83f3..d89bf9e11e 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -25,6 +25,7 @@
> /git-bisect--helper
> /git-blame
> /git-branch
> +/git-bugreport
> /git-bundle
> /git-cat-file
> /git-check-attr
> diff --git a/Documentation/git-bugreport.txt b/Documentation/git-bugreport.txt
> new file mode 100644
> index 0000000000..1f9fde5cde
> --- /dev/null
> +++ b/Documentation/git-bugreport.txt
> @@ -0,0 +1,46 @@
> +git-bugreport(1)
> +================
> +
> +NAME
> +----
> +git-bugreport - Collect information for user to file a bug report
> +
> +SYNOPSIS
> +--------
> +[verse]
> +'git bugreport' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
> +
> +DESCRIPTION
> +-----------
> +Captures information about the user's machine, Git client, and repository state,
> +as well as a form requesting information about the behavior the user observed,
> +into a single text file which the user can then share, for example to the Git
> +mailing list, in order to report an observed bug.
> +
> +The following information is requested from the user:
> +
> + - Reproduction steps
> + - Expected behavior
> + - Actual behavior
> +
> +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
> +is unreadable. In this kind of scenario, it may be helpful to manually gather
> +the kind of information listed above when manually asking for help.
> +
> +OPTIONS
> +-------
> +-o <path>::
> +--output-directory <path>::
> + Place the resulting bug report file in `<path>` instead of the root of
> + the Git repository.
> +
> +-s <format>::
> +--suffix <format>::
> + Specify an alternate suffix for the bugreport name, to create a file
> + named 'git-bugreport-<formatted suffix>'. This should take the form of a
> + link:strftime[3] format string; the current local time will be used.
> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Makefile b/Makefile
> index c552312d3f..9e6705061d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -681,6 +681,7 @@ EXTRA_PROGRAMS =
> # ... and all the rest that could be moved out of bindir to gitexecdir
> PROGRAMS += $(EXTRA_PROGRAMS)
>
> +PROGRAM_OBJS += bugreport.o
> PROGRAM_OBJS += credential-store.o
> PROGRAM_OBJS += daemon.o
> PROGRAM_OBJS += fast-import.o
> @@ -2461,6 +2462,10 @@ endif
> git-%$X: %.o GIT-LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
>
> +git-bugreport$X: bugreport.o GIT-LDFLAGS $(GITLIBS)
> + $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> + $(LIBS)
> +
> git-imap-send$X: imap-send.o $(IMAP_SEND_BUILDDEPS) GIT-LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> $(IMAP_SEND_LDFLAGS) $(LIBS)
> diff --git a/bugreport.c b/bugreport.c
> new file mode 100644
> index 0000000000..f473d606f2
> --- /dev/null
> +++ b/bugreport.c
> @@ -0,0 +1,105 @@
> +#include "builtin.h"
> +#include "parse-options.h"
> +#include "stdio.h"
> +#include "strbuf.h"
> +#include "time.h"
> +
> +static const char * const bugreport_usage[] = {
> + N_("git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"),
> + NULL
> +};
> +
> +static int get_bug_template(struct strbuf *template)
> +{
> + const char template_text[] = N_(
> +"Thank you for filling out a Git bug report!\n"
> +"Please answer the following questions to help us understand your issue.\n"
> +"\n"
> +"What did you do before the bug happened? (Steps to reproduce your issue)\n"
> +"\n"
> +"What did you expect to happen? (Expected behavior)\n"
> +"\n"
> +"What happened instead? (Actual behavior)\n"
> +"\n"
> +"What's different between what you expected and what actually happened?\n"
> +"\n"
> +"Anything else you want to add:\n"
> +"\n"
> +"Please review the rest of the bug report below.\n"
> +"You can delete any lines you don't wish to share.\n");
> +
> + strbuf_addstr(template, _(template_text));
> + return 0;
> +}
> +
> +int cmd_main(int argc, const char **argv)
> +{
> + struct strbuf buffer = STRBUF_INIT;
> + struct strbuf report_path = STRBUF_INIT;
> + int report = -1;
> + time_t now = time(NULL);
> + char *option_output = NULL;
> + char *option_suffix = "%F-%H%M";
> + int nongit_ok = 0;
> + const char *prefix = NULL;
> + const char *user_relative_path = NULL;
> +
> + const struct option bugreport_options[] = {
> + OPT_STRING('o', "output-directory", &option_output, N_("path"),
> + N_("specify a destination for the bugreport file")),
> + OPT_STRING('s', "suffix", &option_suffix, N_("format"),
> + N_("specify a strftime format suffix for the filename")),
> + OPT_END()
> + };
> +
> + prefix = setup_git_directory_gently(&nongit_ok);
> +
> + argc = parse_options(argc, argv, prefix, bugreport_options,
> + bugreport_usage, 0);
> +
> + /* Prepare the path to put the result */
> + strbuf_addstr(&report_path,
> + prefix_filename(prefix,
> + option_output ? option_output : ""));
> + strbuf_complete(&report_path, '/');
> +
> + strbuf_addstr(&report_path, "git-bugreport-");
> + strbuf_addftime(&report_path, option_suffix, localtime(&now), 0, 0);
> + strbuf_addstr(&report_path, ".txt");
> +
> + switch (safe_create_leading_directories(report_path.buf)) {
> + case SCLD_OK:
> + case SCLD_EXISTS:
> + break;
> + default:
> + die(_("could not create leading directories for '%s'"),
> + report_path.buf);
> + }
> +
> + /* Prepare the report contents */
> + get_bug_template(&buffer);
> +
> + /* fopen doesn't offer us an O_EXCL alternative, except with glibc. */
> + report = open(report_path.buf, O_CREAT | O_EXCL | O_WRONLY, 0666);
> +
> + if (report < 0) {
> + UNLEAK(report_path);
> + die(_("couldn't create a new file at '%s'"), report_path.buf);
> + }
> +
> + strbuf_write_fd(&buffer, report);
> + close(report);
> +
> + /*
> + * We want to print the path relative to the user, but we still need the
> + * path relative to us to give to the editor.
> + */
> + if (!(prefix && skip_prefix(report_path.buf, prefix, &user_relative_path)))
> + user_relative_path = report_path.buf;
> + fprintf(stderr, _("Created new report at '%s'.\n"),
> + user_relative_path);
> +
> + UNLEAK(buffer);
> + UNLEAK(report_path);
> + return !!launch_editor(report_path.buf, NULL, NULL);
> +}
> diff --git a/command-list.txt b/command-list.txt
> index 2087894655..185e5e3f05 100644
> --- a/command-list.txt
> +++ b/command-list.txt
> @@ -54,6 +54,7 @@ git-archive mainporcelain
> git-bisect mainporcelain info
> git-blame ancillaryinterrogators complete
> git-branch mainporcelain history
> +git-bugreport ancillaryinterrogators
> git-bundle mainporcelain
> git-cat-file plumbinginterrogators
> git-check-attr purehelpers
> diff --git a/strbuf.c b/strbuf.c
> index f19da55b07..f1d66c7848 100644
> --- a/strbuf.c
> +++ b/strbuf.c
> @@ -539,6 +539,10 @@ ssize_t strbuf_write(struct strbuf *sb, FILE *f)
> return sb->len ? fwrite(sb->buf, 1, sb->len, f) : 0;
> }
>
> +ssize_t strbuf_write_fd(struct strbuf *sb, int fd)
> +{
> + return sb->len ? write(fd, sb->buf, sb->len) : 0;
> +}
>
> #define STRBUF_MAXLINK (2*PATH_MAX)
>
> diff --git a/strbuf.h b/strbuf.h
> index aae7ac3a82..bbf6204de7 100644
> --- a/strbuf.h
> +++ b/strbuf.h
> @@ -462,6 +462,7 @@ int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint);
> * NUL bytes.
> */
> ssize_t strbuf_write(struct strbuf *sb, FILE *stream);
> +ssize_t strbuf_write_fd(struct strbuf *sb, int fd);
>
> /**
> * Read a line from a FILE *, overwriting the existing contents of
> diff --git a/t/t0091-bugreport.sh b/t/t0091-bugreport.sh
> new file mode 100755
> index 0000000000..65f664fdac
> --- /dev/null
> +++ b/t/t0091-bugreport.sh
> @@ -0,0 +1,61 @@
> +#!/bin/sh
> +
> +test_description='git bugreport'
> +
> +. ./test-lib.sh
> +
> +# Headers "[System Info]" will be followed by a non-empty line if we put some
> +# information there; we can make sure all our headers were followed by some
> +# information to check if the command was successful.
> +HEADER_PATTERN="^\[.*\]$"
> +
> +check_all_headers_populated () {
> + while read -r line
> + do
> + if test "$(grep "$HEADER_PATTERN" "$line")"
> + then
> + echo "$line"
> + read -r nextline
> + if test -z "$nextline"; then
> + return 1;
> + fi
> + fi
> + done
> +}
> +
> +test_expect_success 'creates a report with content in the right places' '
> + git bugreport -s check-headers &&
> + check_all_headers_populated <git-bugreport-check-headers.txt &&
> + test_when_finished rm git-bugreport-check-headers.txt
> +'
> +
> +test_expect_success 'dies if file with same name as report already exists' '
> + >>git-bugreport-duplicate.txt &&
> + test_must_fail git bugreport --suffix duplicate &&
> + test_when_finished rm git-bugreport-duplicate.txt
> +'
> +
> +test_expect_success '--output-directory puts the report in the provided dir' '
> + git bugreport -o foo/ &&
> + test_path_is_file foo/git-bugreport-* &&
> + test_when_finished rm -fr foo/
> +'
> +
> +test_expect_success 'incorrect arguments abort with usage' '
> + test_must_fail git bugreport --false 2>output &&
> + test_i18ngrep usage output &&
> + test_path_is_missing git-bugreport-*
> +'
> +
> +test_expect_success 'runs outside of a git dir' '
> + nongit git bugreport &&
> + test_when_finished rm non-repo/git-bugreport-*
> +'
> +
> +test_expect_success 'can create leading directories outside of a git dir' '
> + nongit git bugreport -o foo/bar/baz &&
> + test_when_finished rm -fr foo/bar/baz
> +'
> +
> +
> +test_done
> --
> 2.25.0.265.gbab2e86ba0-goog
>
>
next prev parent reply other threads:[~2020-03-04 21:35 UTC|newest]
Thread overview: 273+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-13 0:42 [PATCH v4 00/15] add git-bugreport tool Emily Shaffer
2019-12-13 0:42 ` [PATCH v4 01/15] bugreport: add tool to generate debugging info Emily Shaffer
2019-12-13 0:42 ` [PATCH v4 02/15] help: move list_config_help to builtin/help Emily Shaffer
2019-12-13 20:51 ` Junio C Hamano
2019-12-16 21:36 ` Emily Shaffer
2019-12-16 22:19 ` Junio C Hamano
2019-12-16 22:34 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 03/15] bugreport: gather git version and build info Emily Shaffer
2019-12-13 21:06 ` Junio C Hamano
2019-12-20 1:46 ` Emily Shaffer
2019-12-17 18:45 ` Johannes Schindelin
2019-12-17 20:34 ` Junio C Hamano
2019-12-20 1:25 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 04/15] help: add shell-path to --build-options Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 05/15] bugreport: add uname info Emily Shaffer
2019-12-13 21:12 ` Junio C Hamano
2020-01-10 2:05 ` Aaron Schrab
2019-12-13 0:43 ` [PATCH v4 06/15] bugreport: add glibc version Emily Shaffer
2019-12-13 21:18 ` Junio C Hamano
2019-12-16 22:39 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 07/15] bugreport: add curl version Emily Shaffer
2019-12-13 21:27 ` Junio C Hamano
2019-12-16 22:49 ` Emily Shaffer
2019-12-17 18:47 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 08/15] bugreport: include user interactive shell Emily Shaffer
2019-12-13 21:38 ` Junio C Hamano
2019-12-13 0:43 ` [PATCH v4 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2019-12-13 22:57 ` Junio C Hamano
2019-12-16 23:01 ` Emily Shaffer
2019-12-17 0:41 ` Emily Shaffer
2019-12-15 20:17 ` Johannes Schindelin
2019-12-16 22:52 ` Emily Shaffer
2019-12-17 18:38 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 10/15] bugreport: add config values from safelist Emily Shaffer
2019-12-13 21:45 ` Junio C Hamano
2019-12-16 23:40 ` Emily Shaffer
2019-12-17 17:43 ` Junio C Hamano
2020-01-24 3:29 ` Emily Shaffer
2019-12-29 20:17 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 11/15] bugreport: collect list of populated hooks Emily Shaffer
2019-12-13 21:47 ` Junio C Hamano
2019-12-16 23:51 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 12/15] bugreport: count loose objects Emily Shaffer
2019-12-13 21:51 ` Junio C Hamano
2019-12-16 23:54 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 13/15] bugreport: add packed object summary Emily Shaffer
2019-12-13 21:56 ` Junio C Hamano
2019-12-16 23:56 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 00/15] add git-bugreport tool emilyshaffer
2020-01-24 3:34 ` [PATCH v5 01/15] bugreport: add tool to generate debugging info emilyshaffer
2020-01-30 22:18 ` Martin Ågren
2020-02-04 22:00 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 02/15] help: move list_config_help to builtin/help emilyshaffer
2020-01-30 22:19 ` Martin Ågren
2020-02-04 0:53 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 03/15] bugreport: gather git version and build info emilyshaffer
2020-01-30 22:19 ` Martin Ågren
2020-02-04 22:21 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 04/15] help: add shell-path to --build-options emilyshaffer
2020-01-30 22:21 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 05/15] bugreport: add uname info emilyshaffer
2020-01-24 3:34 ` [PATCH v5 06/15] bugreport: add compiler info emilyshaffer
2020-01-30 22:21 ` Martin Ågren
2020-02-04 22:51 ` Emily Shaffer
2020-02-05 19:47 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 07/15] bugreport: add curl version emilyshaffer
2020-01-30 22:27 ` Martin Ågren
2020-02-04 22:54 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 08/15] bugreport: include user interactive shell emilyshaffer
2020-01-30 22:28 ` Martin Ågren
2020-02-04 23:16 ` Emily Shaffer
2020-02-05 20:06 ` Junio C Hamano
2020-02-05 20:14 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 09/15] bugreport: generate config safelist based on docs emilyshaffer
2020-01-30 22:34 ` Martin Ågren
2020-02-05 0:44 ` Emily Shaffer
2020-02-05 19:53 ` Martin Ågren
2020-01-31 21:20 ` Martin Ågren
2020-02-05 0:30 ` Emily Shaffer
2020-02-05 0:52 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 10/15] bugreport: add config values from safelist emilyshaffer
2020-01-30 22:36 ` Martin Ågren
2020-02-05 1:34 ` Emily Shaffer
2020-01-31 21:25 ` Martin Ågren
2020-02-05 2:31 ` Emily Shaffer
2020-02-05 20:12 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 11/15] bugreport: collect list of populated hooks emilyshaffer
2020-02-04 18:44 ` Junio C Hamano
2020-02-05 2:48 ` Emily Shaffer
2020-02-05 3:00 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 12/15] bugreport: count loose objects emilyshaffer
2020-02-04 18:48 ` Junio C Hamano
2020-02-05 2:50 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 13/15] bugreport: add packed object summary emilyshaffer
2020-02-04 19:00 ` Junio C Hamano
2020-02-05 3:15 ` Emily Shaffer
2020-02-04 19:03 ` Junio C Hamano
2020-02-05 3:09 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 14/15] bugreport: list contents of $OBJDIR/info emilyshaffer
2020-01-24 3:34 ` [PATCH v5 15/15] bugreport: summarize contents of alternates file emilyshaffer
2020-01-24 3:38 ` [PATCH v5 00/15] add git-bugreport tool Emily Shaffer
2020-01-28 23:04 ` Jonathan Tan
2020-01-28 23:26 ` Emily Shaffer
2020-01-30 22:15 ` Martin Ågren
2020-02-04 0:07 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 " Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-06 1:35 ` Danh Doan
2020-02-13 22:58 ` Emily Shaffer
2020-02-13 23:07 ` Eric Sunshine
2020-02-13 23:24 ` Junio C Hamano
2020-02-13 23:29 ` Eric Sunshine
2020-02-14 1:20 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-07 14:18 ` SZEDER Gábor
2020-02-07 18:51 ` Junio C Hamano
2020-02-11 22:40 ` Emily Shaffer
2020-02-07 14:54 ` SZEDER Gábor
2020-02-12 18:06 ` Junio C Hamano
2020-02-12 22:36 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 05/15] bugreport: add uname info Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 06/15] bugreport: add compiler info Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-07 15:30 ` SZEDER Gábor
2020-02-13 23:14 ` Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-07 14:47 ` SZEDER Gábor
2020-02-07 15:08 ` SZEDER Gábor
2020-02-07 16:24 ` Eric Sunshine
2020-02-07 16:51 ` Andreas Schwab
2020-02-13 22:02 ` Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 12/15] bugreport: count loose objects Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 00/15] add git-bugreport tool Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-14 17:25 ` Junio C Hamano
2020-02-15 1:57 ` Emily Shaffer
2020-02-15 18:24 ` Junio C Hamano
2020-02-18 23:46 ` Emily Shaffer
2020-02-18 23:56 ` Emily Shaffer
2020-02-19 23:15 ` Emily Shaffer
2020-02-19 23:24 ` Junio C Hamano
2020-02-19 14:18 ` Johannes Schindelin
2020-02-19 16:55 ` Junio C Hamano
2020-02-19 21:52 ` Emily Shaffer
2020-02-19 22:09 ` Junio C Hamano
2020-02-19 23:06 ` Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 05/15] bugreport: add uname info Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 06/15] bugreport: add compiler info Emily Shaffer
2020-02-19 14:23 ` Johannes Schindelin
2020-02-19 22:45 ` Emily Shaffer
2020-02-20 22:33 ` Johannes Schindelin
2020-02-20 23:33 ` Emily Shaffer
2020-02-21 15:22 ` Johannes Schindelin
2020-02-22 0:04 ` Emily Shaffer
2020-02-24 2:55 ` Junio C Hamano
2020-02-14 1:53 ` [PATCH v7 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-19 14:28 ` Johannes Schindelin
2020-02-19 22:28 ` Emily Shaffer
2020-02-19 22:33 ` Junio C Hamano
2020-02-20 22:33 ` Johannes Schindelin
2020-02-14 1:53 ` [PATCH v7 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 12/15] bugreport: count loose objects Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-14 17:04 ` Junio C Hamano
2020-02-18 23:59 ` Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-14 17:32 ` [PATCH v7 00/15] add git-bugreport tool Junio C Hamano
2020-02-14 22:00 ` Emily Shaffer
2020-02-14 22:30 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 " Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-20 19:03 ` Junio C Hamano
2020-02-20 21:15 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-20 19:33 ` Junio C Hamano
2020-02-20 22:33 ` Emily Shaffer
2020-02-26 16:12 ` Johannes Schindelin
2020-02-20 1:58 ` [PATCH v8 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-20 20:07 ` Junio C Hamano
2020-02-20 23:03 ` Emily Shaffer
2020-02-20 23:18 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 05/15] bugreport: add uname info Emily Shaffer
2020-02-20 20:12 ` Junio C Hamano
2020-02-20 23:20 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 06/15] bugreport: add compiler info Emily Shaffer
2020-02-20 2:49 ` Danh Doan
2020-02-20 23:23 ` Emily Shaffer
2020-02-20 20:23 ` Junio C Hamano
2020-02-21 0:26 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-20 20:35 ` Junio C Hamano
2020-02-20 23:28 ` Emily Shaffer
2020-02-21 3:44 ` Junio C Hamano
2020-02-25 22:08 ` Emily Shaffer
2020-02-25 22:26 ` Junio C Hamano
2020-02-25 23:29 ` Emily Shaffer
2020-02-25 23:29 ` Junio C Hamano
2020-02-25 23:55 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-20 20:40 ` Junio C Hamano
2020-02-26 16:13 ` Johannes Schindelin
2020-02-26 16:49 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-20 20:47 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-20 20:58 ` Junio C Hamano
2020-02-25 23:19 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 12/15] bugreport: count loose objects Emily Shaffer
2020-02-20 21:04 ` Junio C Hamano
2020-02-25 23:22 ` Emily Shaffer
2020-02-25 23:26 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-20 22:04 ` Junio C Hamano
2020-02-25 23:58 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-20 22:18 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-20 14:08 ` Johannes Schindelin
2020-02-20 22:22 ` Junio C Hamano
2020-03-02 23:03 ` [PATCH v9 0/5] add git-bugreport tool Emily Shaffer
2020-03-02 23:03 ` [PATCH v9 1/5] help: move list_config_help to builtin/help Emily Shaffer
2020-03-02 23:03 ` [PATCH v9 2/5] bugreport: add tool to generate debugging info Emily Shaffer
2020-03-03 14:18 ` Johannes Schindelin
2020-03-04 21:35 ` Johannes Schindelin [this message]
2020-03-05 23:34 ` Jeff Hostetler
2020-03-06 13:57 ` Johannes Schindelin
2020-03-06 18:25 ` Junio C Hamano
2020-03-06 18:08 ` Junio C Hamano
2020-03-06 18:58 ` Jeff Hostetler
2020-03-08 22:24 ` Johannes Schindelin
2020-03-09 14:59 ` Junio C Hamano
2020-03-09 19:17 ` Johannes Schindelin
2020-03-09 19:47 ` Junio C Hamano
2020-03-10 11:42 ` Johannes Schindelin
2020-03-10 18:37 ` Junio C Hamano
2020-03-10 22:08 ` Johannes Schindelin
2020-03-19 21:39 ` Emily Shaffer
2020-03-20 0:28 ` Junio C Hamano
2020-03-20 15:35 ` Johannes Schindelin
2020-03-23 18:52 ` Emily Shaffer
2020-03-20 15:42 ` Johannes Schindelin
2020-03-23 18:50 ` Emily Shaffer
2020-03-20 17:43 ` Junio C Hamano
2020-03-20 22:38 ` Johannes Schindelin
2020-03-20 22:47 ` Junio C Hamano
2020-03-21 10:53 ` Johannes Schindelin
2020-03-02 23:03 ` [PATCH v9 3/5] bugreport: gather git version and build info Emily Shaffer
2020-03-23 21:20 ` Junio C Hamano
2020-03-02 23:03 ` [PATCH v9 4/5] bugreport: add uname info Emily Shaffer
2020-03-02 23:04 ` [PATCH v9 5/5] bugreport: add compiler info Emily Shaffer
2020-03-03 11:46 ` Danh Doan
2020-03-03 14:07 ` Junio C Hamano
2020-03-04 21:39 ` Johannes Schindelin
2020-03-23 21:27 ` Emily Shaffer
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=nycvar.QRO.7.76.6.2003042232340.46@tvgsbejvaqbjf.bet \
--to=johannes.schindelin@gmx.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).