From 4155e41e0e67c0ac9309aa68dfc46bd49902ebd2 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 25 Aug 2022 15:17:09 -0700 Subject: Autogenerated HTML docs for v2.37.2-411-g7c46e --- RelNotes/2.38.0.txt | 16 + git-bugreport.html | 27 +- git-bugreport.txt | 18 + git-diagnose.html | 865 ++++++++++++++++++++++++++++ git-diagnose.txt | 65 +++ howto/coordinate-embargoed-releases.html | 2 +- howto/keep-canonical-history-correct.html | 2 +- howto/maintain-git.html | 2 +- howto/new-command.html | 2 +- howto/rebase-from-internal-branch.html | 2 +- howto/rebuild-from-update-hook.html | 2 +- howto/recover-corrupted-blob-object.html | 2 +- howto/recover-corrupted-object-harder.html | 2 +- howto/revert-a-faulty-merge.html | 2 +- howto/revert-branch-rebase.html | 2 +- howto/separating-topic-branches.html | 2 +- howto/setup-git-server-over-http.html | 2 +- howto/update-hook-example.html | 2 +- howto/use-git-daemon.html | 2 +- howto/using-merge-subtree.html | 2 +- howto/using-signed-tag-in-pull-request.html | 2 +- technical/scalar.txt | 9 +- 22 files changed, 1008 insertions(+), 24 deletions(-) create mode 100644 git-diagnose.html create mode 100644 git-diagnose.txt diff --git a/RelNotes/2.38.0.txt b/RelNotes/2.38.0.txt index 4a08602e0..cd64c62b2 100644 --- a/RelNotes/2.38.0.txt +++ b/RelNotes/2.38.0.txt @@ -54,6 +54,10 @@ UI, Workflows & Features "human" to show the reported value in human-readable format, like "3.40MiB". + * The "diagnose" feature to create a zip archive for diagnostic + material has been lifted from "scalar" and made into a feature of + "git bugreport". + Performance, Internal Implementation, Development Support etc. @@ -115,6 +119,9 @@ Performance, Internal Implementation, Development Support etc. * The "bundle URI" design gets documented. + * The common ancestor negotiation exchange during a "git fetch" + session now leaves trace log. + Fixes since v2.37 ----------------- @@ -263,6 +270,15 @@ Fixes since v2.37 commands. (merge b15207b8cf vd/sparse-reset-checkout-fixes later to maint). + * An earlier optimization discarded a tree-object buffer that is + still in use, which has been corrected. + (merge 1490d7d82d jk/is-promisor-object-keep-tree-in-use later to maint). + + * Fix deadlocks between main Git process and subprocess spawned via + the pipe_command() API, that can kill "git add -p" that was + reimplemented in C recently. + (merge 716c1f649e jk/pipe-command-nonblock later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 94955d576b gc/git-reflog-doc-markup later to maint). (merge efae7ce692 po/doc-add-renormalize later to maint). diff --git a/git-bugreport.html b/git-bugreport.html index 764dfb98b..4374c93c9 100644 --- a/git-bugreport.html +++ b/git-bugreport.html @@ -749,7 +749,8 @@ git-bugreport(1) Manual Page

SYNOPSIS

-
git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
+
git bugreport [(-o | --output-directory) <path>] [(-s | --suffix) <format>]
+                [--diagnose[=<mode>]]
@@ -807,6 +808,9 @@ $SHELL

+

Additional information may be gathered into a separate zip archive using the +--diagnose option, and can be attached alongside the bugreport document to +provide additional context to readers.

This tool is invoked via the typical Git setup process, which means that in some cases, it might not be able to launch - for example, if a relevant config file is unreadable. In this kind of scenario, it may be helpful to manually gather @@ -842,6 +846,25 @@ the kind of information listed above when manually asking for help.

strftime(3) format string; the current local time will be used.

+
+--no-diagnose +
+
+--diagnose[=<mode>] +
+
+

+ Create a zip archive of supplemental information about the user’s + machine, Git client, and repository state. The archive is written to the + same output directory as the bug report and is named + git-diagnostics-<formatted suffix>. +

+

Without mode specified, the diagnostic archive will contain the default set of +statistics reported by git diagnose. An optional mode value may be specified +to change which information is included in the archive. See +git-diagnose(1) for the list of valid values for mode and details +about their usage.

+
@@ -856,7 +879,7 @@ the kind of information listed above when manually asking for help.

diff --git a/git-bugreport.txt b/git-bugreport.txt index d8817bf3c..eca726e57 100644 --- a/git-bugreport.txt +++ b/git-bugreport.txt @@ -9,6 +9,7 @@ SYNOPSIS -------- [verse] 'git bugreport' [(-o | --output-directory) ] [(-s | --suffix) ] + [--diagnose[=]] DESCRIPTION ----------- @@ -31,6 +32,10 @@ The following information is captured automatically: - A list of enabled hooks - $SHELL +Additional information may be gathered into a separate zip archive using the +`--diagnose` option, and can be attached alongside the bugreport document to +provide additional context to readers. + This tool is invoked via the typical Git setup process, which means that in some cases, it might not be able to launch - for example, if a relevant config file is unreadable. In this kind of scenario, it may be helpful to manually gather @@ -49,6 +54,19 @@ OPTIONS named 'git-bugreport-'. This should take the form of a strftime(3) format string; the current local time will be used. +--no-diagnose:: +--diagnose[=]:: + Create a zip archive of supplemental information about the user's + machine, Git client, and repository state. The archive is written to the + same output directory as the bug report and is named + 'git-diagnostics-'. ++ +Without `mode` specified, the diagnostic archive will contain the default set of +statistics reported by `git diagnose`. An optional `mode` value may be specified +to change which information is included in the archive. See +linkgit:git-diagnose[1] for the list of valid values for `mode` and details +about their usage. + GIT --- Part of the linkgit:git[1] suite diff --git a/git-diagnose.html b/git-diagnose.html new file mode 100644 index 000000000..4fc838819 --- /dev/null +++ b/git-diagnose.html @@ -0,0 +1,865 @@ + + + + + + +git-diagnose(1) + + + + + +
+
+

SYNOPSIS

+
+
+
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 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 git(1) suite

+
+
+
+

+ + + diff --git a/git-diagnose.txt b/git-diagnose.txt new file mode 100644 index 000000000..3ec8cc7ad --- /dev/null +++ b/git-diagnose.txt @@ -0,0 +1,65 @@ +git-diagnose(1) +================ + +NAME +---- +git-diagnose - Generate a zip archive of diagnostic information + +SYNOPSIS +-------- +[verse] +'git diagnose' [(-o | --output-directory) ] [(-s | --suffix) ] + [--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 :: +--output-directory :: + Place the resulting diagnostics archive in `` instead of the + current directory. + +-s :: +--suffix :: + Specify an alternate suffix for the diagnostics archive name, to create + a file named 'git-diagnostics-'. 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 diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index 3ea35c8ee..369a5906b 100644 --- a/howto/coordinate-embargoed-releases.html +++ b/howto/coordinate-embargoed-releases.html @@ -873,7 +873,7 @@ Thanks, diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index a54aefd76..a5dae93ee 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html @@ -938,7 +938,7 @@ tip of your master again and redo the two merges:

diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 78f48dd9c..6d9046281 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html @@ -1469,7 +1469,7 @@ $ git update-ref -d $mf/ai/topic diff --git a/howto/new-command.html b/howto/new-command.html index 55ac5b3ac..16c5d4654 100644 --- a/howto/new-command.html +++ b/howto/new-command.html @@ -863,7 +863,7 @@ letter [PATCH 0/n]. diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index f43efcf2d..c4e38cc0e 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html @@ -895,7 +895,7 @@ the #1' commit.

diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 19c2bfadd..95e4b8bb9 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html @@ -847,7 +847,7 @@ This is still crude and does not protect against simultaneous diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 77c4c3699..c5ac1a2a9 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html @@ -880,7 +880,7 @@ thing.

diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 433d9ce27..7288e0882 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html @@ -1189,7 +1189,7 @@ int main(int argc, char **argv) diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 439c068ad..a29203ddb 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html @@ -1025,7 +1025,7 @@ P---o---o---M---x---x---W---x---M2 diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 540e80c41..52237d1d2 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html @@ -907,7 +907,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index a135545ca..adbf4d694 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html @@ -841,7 +841,7 @@ o---o"master" diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 6f00a2d74..5b3b6e0c7 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html @@ -1071,7 +1071,7 @@ help diagnosing the problem, but removes security checks.

diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index f84af3dcf..f309f2ea9 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html @@ -930,7 +930,7 @@ that JC can make non-fast-forward pushes on it.

diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 993e309a4..9cc6bf0d4 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html @@ -791,7 +791,7 @@ a good practice to put the paths after a "--" separator.

diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 2d74fe0f4..b4dda6267 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html @@ -848,7 +848,7 @@ Please note that if the other project merges from you, then it will diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 9cad02bb1..99597c406 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html @@ -952,7 +952,7 @@ as part of the merge commit.

diff --git a/technical/scalar.txt b/technical/scalar.txt index 08bc09c22..f6353375f 100644 --- a/technical/scalar.txt +++ b/technical/scalar.txt @@ -84,6 +84,9 @@ series have been accepted: - `scalar-diagnose`: The `scalar` command is taught the `diagnose` subcommand. +- `scalar-generalize-diagnose`: Move the functionality of `scalar diagnose` + into `git diagnose` and `git bugreport --diagnose`. + Roughly speaking (and subject to change), the following series are needed to "finish" this initial version of Scalar: @@ -91,12 +94,6 @@ Roughly speaking (and subject to change), the following series are needed to and implement `scalar help`. At the end of this series, Scalar should be feature-complete from the perspective of a user. -- Generalize features not specific to Scalar: In the spirit of making Scalar - configure only what is needed for large repo performance, move common - utilities into other parts of Git. Some of this will be internal-only, but one - major change will be generalizing `scalar diagnose` for use with any Git - repository. - - Move Scalar to toplevel: Move Scalar out of `contrib/` and into the root of `git`, including updates to build and install it with the rest of Git. This change will incorporate Scalar into the Git CI and test framework, as well as -- cgit 1.2.3-korg