summaryrefslogtreecommitdiffstats
path: root/Documentation/git-diagnose.txt
blob: 0711959e6f6eaa6af5b8931058760b47189e6ba5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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