'\" t
.\" Title: git-diagnose
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 01/13/2023
.\" Manual: Git Manual
.\" Source: Git 2.39.1
.\" Language: English
.\"
.TH "GIT\-DIAGNOSE" "1" "01/13/2023" "Git 2\&.39\&.1" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-diagnose \- Generate a zip archive of diagnostic information
.SH "SYNOPSIS"
.sp
.nf
\fIgit diagnose\fR [(\-o | \-\-output\-directory) ] [(\-s | \-\-suffix) ]
[\-\-mode=]
.fi
.sp
.SH "DESCRIPTION"
.sp
Collects detailed information about the user\(cqs 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\&.
.sp
By default, the following information is captured in the archive:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIgit version \-\-build\-options\fR
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The path to the repository root
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The available disk space on the filesystem
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The name and size of each packfile, including those in alternate object stores
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The total count of loose objects, as well as counts broken down by
\fB\&.git/objects\fR
subdirectory
.RE
.sp
Additional information can be collected by selecting a different diagnostic mode using the \fB\-\-mode\fR option\&.
.sp
This tool differs from \fBgit-bugreport\fR(1) in that it collects much more detailed information with a greater focus on reporting the size and data shape of repository contents\&.
.SH "OPTIONS"
.PP
\-o , \-\-output\-directory
.RS 4
Place the resulting diagnostics archive in
\fB\fR
instead of the current directory\&.
.RE
.PP
\-s , \-\-suffix
.RS 4
Specify an alternate suffix for the diagnostics archive name, to create a file named
\fIgit\-diagnostics\-\fR\&. This should take the form of a strftime(3) format string; the current local time will be used\&.
.RE
.PP
\-\-mode=(stats|all)
.RS 4
Specify the type of diagnostics that should be collected\&. The default behavior of
\fIgit diagnose\fR
is equivalent to
\fB\-\-mode=stats\fR\&.
.sp
The
\fB\-\-mode=all\fR
option collects everything included in
\fB\-\-mode=stats\fR, as well as copies of
\fB\&.git\fR,
\fB\&.git/hooks\fR,
\fB\&.git/info\fR,
\fB\&.git/logs\fR, and
\fB\&.git/objects/info\fR
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
\fB\-\-mode=all\fR\&.
.RE
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite