7ecf193f7d
Create '--mode=<mode>' option in 'git diagnose' to allow users to optionally select non-default diagnostic information to include in the output archive. Additionally, document the currently-available modes, emphasizing the importance of not sharing a '--mode=all' archive publicly due to the presence of sensitive information. Note that the option parsing callback - 'option_parse_diagnose()' - is added to 'diagnose.c' rather than 'builtin/diagnose.c' so that it may be reused in future callers configuring a diagnostics archive. Helped-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Victoria Dye <vdye@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
git-diagnose(1)
|
|
================
|
|
|
|
NAME
|
|
----
|
|
git-diagnose - Generate a zip archive of diagnostic information
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git diagnose' [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
|
|
[--mode=<mode>]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
Collects detailed information about the user's machine, Git client, and
|
|
repository state and packages that information into a zip archive. The
|
|
generated archive can then, for example, be shared with the Git mailing list to
|
|
help debug an issue or serve as a reference for independent debugging.
|
|
|
|
By default, the following information is captured in the archive:
|
|
|
|
* 'git version --build-options'
|
|
* The path to the repository root
|
|
* The available disk space on the filesystem
|
|
* The name and size of each packfile, including those in alternate object
|
|
stores
|
|
* The total count of loose objects, as well as counts broken down by
|
|
`.git/objects` subdirectory
|
|
|
|
Additional information can be collected by selecting a different diagnostic mode
|
|
using the `--mode` option.
|
|
|
|
This tool differs from linkgit:git-bugreport[1] in that it collects much more
|
|
detailed information with a greater focus on reporting the size and data shape
|
|
of repository contents.
|
|
|
|
OPTIONS
|
|
-------
|
|
-o <path>::
|
|
--output-directory <path>::
|
|
Place the resulting diagnostics archive in `<path>` instead of the
|
|
current directory.
|
|
|
|
-s <format>::
|
|
--suffix <format>::
|
|
Specify an alternate suffix for the diagnostics archive name, to create
|
|
a file named 'git-diagnostics-<formatted suffix>'. This should take the
|
|
form of a strftime(3) format string; the current local time will be
|
|
used.
|
|
|
|
--mode=(stats|all)::
|
|
Specify the type of diagnostics that should be collected. The default behavior
|
|
of 'git diagnose' is equivalent to `--mode=stats`.
|
|
+
|
|
The `--mode=all` option collects everything included in `--mode=stats`, as well
|
|
as copies of `.git`, `.git/hooks`, `.git/info`, `.git/logs`, and
|
|
`.git/objects/info` directories. This additional information may be sensitive,
|
|
as it can be used to reconstruct the full contents of the diagnosed repository.
|
|
Users should exercise caution when sharing an archive generated with
|
|
`--mode=all`.
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|