Web lists-archives.com

Re: [PATCH] doc: hint about GIT_DEBUGGER

Hi Emily,

On Fri, May 17, 2019 at 3:40 PM Emily Shaffer <emilyshaffer@xxxxxxxxxx> wrote:
> We check for a handy environment variable GIT_DEBUGGER when running via
> bin-wrappers/, but this feature is undocumented. Add a hint to how to
> use it into the CodingGuidelines (which is where other useful
> environment settings like DEVELOPER are documented).
> It looks like you can use GIT_DEBUGGER to pick gdb by default, or you
> can hand it your own debugger if you like to use something else (or if
> you want custom flags for gdb). Hopefully document that intent within
> CodingGuidelines.

Thanks for working on this.

> Signed-off-by: Emily Shaffer <emilyshaffer@xxxxxxxxxx>
> ---
> Maybe this isn't the right place for this patch. But right now git grep
> reveals that GIT_DEBUGGER is completely undocumented.

Does 'git log --grep=GIT_DEBUGGER' count?  ;-)

> Alternatively, it might make sense to only add a short blurb about using
> GIT_DEBUGGER flag to CodingGuidelines and then documenting how to use it
> inside of wrap-for-bin.sh.
>  Documentation/CodingGuidelines | 5 +++++
>  1 file changed, 5 insertions(+)
> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
> index 32210a4386..e17cd75b50 100644
> --- a/Documentation/CodingGuidelines
> +++ b/Documentation/CodingGuidelines
> @@ -412,6 +412,11 @@ For C programs:
>     must be declared with "extern" in header files. However, function
>     declarations should not use "extern", as that is already the default.
> + - You can launch gdb around your program using the shorthand GIT_DEBUGGER.
> +   Run `GIT_DEBUGGER=1 ./bin-wrappers/git foo` to simply use gdb as is, or
> +   run `GIT_DEBUGGER=debugger-binary some-args ./bin-wrappers/git foo` to

Missing some quotes around debugger-binary and some-args:
+   run `GIT_DEBUGGER="debugger-binary some-args" ./bin-wrappers/git foo` to

Also, one thing I always wonder about with command documentation like
this is whether people will understand that "debugger-binary",
"some-args", and "foo" are just placeholders rather than literal text
-- and that everything else is literal text and not meant to be
placeholders.  Does it make since to include a couple examples, or
perhaps modify the text somehow to avoid confusion between
placeholders and literals, or maybe just tell me I overthinking this?
(I've been bit by similar problems in other contexts, so I'm just
flagging it for you to consider).