Thread (2 messages) 2 messages, 2 authors, 2022-08-02

Re: [PATCH 5/7] builtin/bugreport.c: add '--no-report' option

From: Victoria Dye <hidden>
Date: 2022-08-02 19:46:35

Junio C Hamano wrote:
"Victoria Dye via GitGitGadget" [off-list ref] writes:
quoted
From: Victoria Dye <redacted>

Add a '--no-report' option to 'git bugreport' to avoid writing the
'git-bugreport-<suffix>.txt' file. This gives users the option of creating
only the diagnostic archive with '--diagnose' and mirroring the behavior of
the original 'scalar diagnose' as closely as possible.

If a user specifies '--no-report' *without* also specifying '--diagnose',
the 'git bugreport' operation is a no-op; a warning message is printed and
the command returns with a non-error exit code.
I think this makes sense from scalar side, and I have no objection
against this "--no-report" feature existing, but I wonder if those
who want to send report may want to have a handy way to tell the
command to "include" the diag archive in their report (instead of
creating separate report and diagnose files, having to attach two
files to their message).  Perhaps that is unneeded, or perhaps that
comes in later patches in the series, I dunno.
I tried finding where in the documentation there are instructions on sending
a bug report to the mailing list, but didn't see anything (otherwise, I'd
add some info on '--diagnose' there). Maybe Emily would know?

If instructions like that don't exist, I'll update the command documentation
here to clarify that '--diagnose' generates an attachment that includes more
complete repository information to aid in debugging.
quoted
+--no-report::
+	Do not write out a 'git-bugreport-<suffix>.txt' file. This option is
+	intended for use with `--diagnose` when only the diagnostic archive is
+	needed. If `--no-report` is used without `--diagnose`, `git bugreport`
+	is a no-op.
I wonder if thinking it this way may make the UI simpler to explain.

The "git bugreport" is capable of showing report and diagnose with
these two orthogonal options, i.e.

	--report::	writes bugreport file
	--diagnose::	writes diagnostic archive

And for backward compatibility reasons, the command pretends as if
you gave it "--report" when you run it without either.

That way, "bugreport --diagnose" will just show diagnostic archive
without having to pass "--no-report".  There is no need for "nothing
to do", either.
I like the simplicity of this, but I'd imagine that a user would want to
generate diagnostics *with* a report more often than without one. The cases
I can think of for "standalone diagnostics" are: internally in 'scalar
diagnose', someone requesting more info after an initial bug report, or a
user looking into something on their own.

Maybe I could replace '--no-report' with '--diagnostics-only'? Then the
three modes of use would be:

- 'git bugreport': report only (most common usage)
- 'git bugreport --diagnose': report + diagnostics
- 'git bugreport --diagnostics-only': diagnostics only (least common usage)

It would eliminate the need for "nothing to do" while making it (I think?)
clearer to a user why you would want to use any of these options.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help