summaryrefslogtreecommitdiff
path: root/Documentation/git-diagnose.txt
blob: 3ec8cc7ad72374b9c82db916b95ac0f6d56d5f32 (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