From 979463309733bb608fee0d57c0ba03bdca004d03 Mon Sep 17 00:00:00 2001
From: Junio C Hamano
Date: Fri, 4 Nov 2022 21:53:18 -0700
Subject: Autogenerated HTML docs for v2.38.1-385-g3b088
---
RelNotes/2.39.0.txt | 57 ++++
config.txt | 2 +
fsck-msgids.txt | 161 ++++++++++
git-config.html | 52 ++++
git-fsck.html | 443 +++++++++++++++++++++++++++-
git-fsck.txt | 12 +
git-merge-tree.html | 94 +++++-
git-merge-tree.txt | 76 ++++-
git-patch-id.html | 36 ++-
git-patch-id.txt | 24 +-
git-rebase.html | 42 +--
git-rebase.txt | 32 +-
git-send-email.html | 17 +-
git-send-email.txt | 15 +-
git-shortlog.html | 19 +-
git-shortlog.txt | 8 +
howto-index.html | 7 +-
howto-index.txt | 5 +-
howto/coordinate-embargoed-releases.html | 227 ++++++++++++--
howto/coordinate-embargoed-releases.txt | 165 +++++++++--
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/api-trace2.html | 213 +++++++++----
technical/api-trace2.txt | 190 ++++++++----
37 files changed, 1661 insertions(+), 266 deletions(-)
create mode 100644 fsck-msgids.txt
diff --git a/RelNotes/2.39.0.txt b/RelNotes/2.39.0.txt
index f87c4c442..7096f0768 100644
--- a/RelNotes/2.39.0.txt
+++ b/RelNotes/2.39.0.txt
@@ -20,6 +20,14 @@ UI, Workflows & Features
description of the branch you were on before switching to the
current branch.
+ * "git merge-tree --stdin" is a new way to request a series of merges
+ and report the merge results.
+
+ * "git shortlog" learned to group by the "format" string.
+
+ * A new "--include-whitespace" option is added to "git patch-id", and
+ existing bugs in the internal patch-id logic that did not match
+ what "git patch-id" produces have been corrected.
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
@@ -55,6 +63,26 @@ Performance, Internal Implementation, Development Support etc.
compiler.
(merge 4b992f0a24 jk/unused-anno-more later to maint).
+ * Rewrite a deep recursion in the skipping negotiator to use a loop
+ with on-heap prio queue to avoid stack wastage.
+
+ * Add documentation for message IDs in fsck error messages.
+
+ * Define the logical elements of a "bundle list", data structure to
+ store them in-core, format to transfer them, and code to parse
+ them.
+
+ * The role the security mailing list plays in an embargoed release
+ has been documented.
+
+ * Two new facilities, "timer" and "counter", are introduced to the
+ trace2 API.
+
+ * Code simplification by using strvec_pushf() instead of building an
+ argument in a separate strbuf.
+
+ * Make sure generated dependency file is stably sorted to help
+ developers debugging their build issues.
Fixes since v2.38
-----------------
@@ -162,6 +190,35 @@ Fixes since v2.38
adjust them to compute the display width assuming UTF-8 pathnames.
(merge ce8529b2bb tb/diffstat-with-utf8-strwidth later to maint).
+ * "git branch --edit-description" can exit with status -1 which is
+ not a good practice; it learned to use 1 as everybody else instead.
+
+ * "git apply" limits its input to a bit less than 1 GiB.
+
+ * Merging a branch with directory renames into a branch that changes
+ the directory to a symlink was mishandled by the ort merge
+ strategy, which has been corrected.
+
+ * A bugfix to "git subtree" in its split and merge features.
+
+ * Fix some bugs in the reflog messages when rebasing and changes the
+ reflog messages of "rebase --apply" to match "rebase --merge" with
+ the aim of making the reflog easier to parse.
+
+ * "git rebase --keep-base" used to discard the commits that are
+ already cherry-picked to the upstream, even when "keep-base" meant
+ that the base, on top of which the history is being rebuilt, does
+ not yet include these cherry-picked commits. The --keep-base
+ option now implies --reapply-cherry-picks and --no-fork-point
+ options.
+
+ * The way "git repack" creared temporary files when it received a
+ signal was prone to deadlocking, which has been corrected.
+
+ * Various tests exercising the transfer.credentialsInUrl
+ configuration are taught to avoid making requests which require
+ resolving localhost to reduce CI-flakiness.
+
* Other code cleanup, docfix, build fix, etc.
(merge 413bc6d20a ds/cmd-main-reorder later to maint).
(merge 8d2863e4ed nw/t1002-cleanup later to maint).
diff --git a/config.txt b/config.txt
index 1e2058316..0e93aef86 100644
--- a/config.txt
+++ b/config.txt
@@ -387,6 +387,8 @@ include::config/branch.txt[]
include::config/browser.txt[]
+include::config/bundle.txt[]
+
include::config/checkout.txt[]
include::config/clean.txt[]
diff --git a/fsck-msgids.txt b/fsck-msgids.txt
new file mode 100644
index 000000000..7af76ff99
--- /dev/null
+++ b/fsck-msgids.txt
@@ -0,0 +1,161 @@
+`badDate`::
+ (ERROR) Invalid date format in an author/committer line.
+
+`badDateOverflow`::
+ (ERROR) Invalid date value in an author/committer line.
+
+`badEmail`::
+ (ERROR) Invalid email format in an author/committer line.
+
+`badFilemode`::
+ (INFO) A tree contains a bad filemode entry.
+
+`badName`::
+ (ERROR) An author/committer name is empty.
+
+`badObjectSha1`::
+ (ERROR) An object has a bad sha1.
+
+`badParentSha1`::
+ (ERROR) A commit object has a bad parent sha1.
+
+`badTagName`::
+ (INFO) A tag has an invalid format.
+
+`badTimezone`::
+ (ERROR) Found an invalid time zone in an author/committer line.
+
+`badTree`::
+ (ERROR) A tree cannot be parsed.
+
+`badTreeSha1`::
+ (ERROR) A tree has an invalid format.
+
+`badType`::
+ (ERROR) Found an invalid object type.
+
+`duplicateEntries`::
+ (ERROR) A tree contains duplicate file entries.
+
+`emptyName`::
+ (WARN) A path contains an empty name.
+
+`extraHeaderEntry`::
+ (IGNORE) Extra headers found after `tagger`.
+
+`fullPathname`::
+ (WARN) A path contains the full path starting with "/".
+
+`gitattributesSymlink`::
+ (INFO) `.gitattributes` is a symlink.
+
+`gitignoreSymlink`::
+ (INFO) `.gitignore` is a symlink.
+
+`gitmodulesBlob`::
+ (ERROR) A non-blob found at `.gitmodules`.
+
+`gitmodulesLarge`::
+ (ERROR) The `.gitmodules` file is too large to parse.
+
+`gitmodulesMissing`::
+ (ERROR) Unable to read `.gitmodules` blob.
+
+`gitmodulesName`::
+ (ERROR) A submodule name is invalid.
+
+`gitmodulesParse`::
+ (INFO) Could not parse `.gitmodules` blob.
+
+`gitmodulesLarge`;
+ (ERROR) `.gitmodules` blob is too large to parse.
+
+`gitmodulesPath`::
+ (ERROR) `.gitmodules` path is invalid.
+
+`gitmodulesSymlink`::
+ (ERROR) `.gitmodules` is a symlink.
+
+`gitmodulesUpdate`::
+ (ERROR) Found an invalid submodule update setting.
+
+`gitmodulesUrl`::
+ (ERROR) Found an invalid submodule url.
+
+`hasDot`::
+ (WARN) A tree contains an entry named `.`.
+
+`hasDotdot`::
+ (WARN) A tree contains an entry named `..`.
+
+`hasDotgit`::
+ (WARN) A tree contains an entry named `.git`.
+
+`mailmapSymlink`::
+ (INFO) `.mailmap` is a symlink.
+
+`missingAuthor`::
+ (ERROR) Author is missing.
+
+`missingCommitter`::
+ (ERROR) Committer is missing.
+
+`missingEmail`::
+ (ERROR) Email is missing in an author/committer line.
+
+`missingNameBeforeEmail`::
+ (ERROR) Missing name before an email in an author/committer line.
+
+`missingObject`::
+ (ERROR) Missing `object` line in tag object.
+
+`missingSpaceBeforeDate`::
+ (ERROR) Missing space before date in an author/committer line.
+
+`missingSpaceBeforeEmail`::
+ (ERROR) Missing space before the email in author/committer line.
+
+`missingTag`::
+ (ERROR) Unexpected end after `type` line in a tag object.
+
+`missingTagEntry`::
+ (ERROR) Missing `tag` line in a tag object.
+
+`missingTaggerEntry`::
+ (INFO) Missing `tagger` line in a tag object.
+
+`missingTree`::
+ (ERROR) Missing `tree` line in a commit object.
+
+`missingType`::
+ (ERROR) Invalid type value on the `type` line in a tag object.
+
+`missingTypeEntry`::
+ (ERROR) Missing `type` line in a tag object.
+
+`multipleAuthors`::
+ (ERROR) Multiple author lines found in a commit.
+
+`nulInCommit`::
+ (WARN) Found a NUL byte in the commit object body.
+
+`nulInHeader`::
+ (FATAL) NUL byte exists in the object header.
+
+`nullSha1`::
+ (WARN) Tree contains entries pointing to a null sha1.
+
+`treeNotSorted`::
+ (ERROR) A tree is not properly sorted.
+
+`unknownType`::
+ (ERROR) Found an unknown object type.
+
+`unterminatedHeader`::
+ (FATAL) Missing end-of-line in the object header.
+
+`zeroPaddedDate`::
+ (ERROR) Found a zero padded date in an author/commiter line.
+
+`zeroPaddedFilemode`::
+ (WARN) Found a zero padded filemode in a tree.
diff --git a/git-config.html b/git-config.html
index a56d461d4..85a5bb365 100644
--- a/git-config.html
+++ b/git-config.html
@@ -3770,6 +3770,56 @@ browser.<tool>.path
+bundle.*
+
+
+
+ The bundle.*
keys may appear in a bundle list file found via the
+ git clone --bundle-uri
option. These keys currently have no effect
+ if placed in a repository config file, though this will change in the
+ future. See the bundle URI design
+ document for more details.
+
+
+
+bundle.version
+
+
+
+ This integer value advertises the version of the bundle list format
+ used by the bundle list. Currently, the only accepted value is 1
.
+
+
+
+bundle.mode
+
+
+
+ This string value should be either all
or any
. This value describes
+ whether all of the advertised bundles are required to unbundle a
+ complete understanding of the bundled information (all
) or if any one
+ of the listed bundle URIs is sufficient (any
).
+
+
+
+bundle.<id>.*
+
+
+
+ The bundle.<id>.*
keys are used to describe a single item in the
+ bundle list, grouped under <id>
for identification purposes.
+
+
+
+bundle.<id>.uri
+
+
+
+ This string value defines the URI by which Git can reach the contents
+ of this <id>
. This URI may be a bundle file or another bundle list.
+
+
+
checkout.defaultRemote
@@ -5830,6 +5880,8 @@ allow new instances of the same breakages go unnoticed.
Setting an unknown fsck.<msg-id>
value will cause fsck to die, but
doing the same for receive.fsck.<msg-id>
and fetch.fsck.<msg-id>
will only cause git to warn.
+See Fsck Messages
section of git-fsck(1) for supported
+values of <msg-id>
.
fsck.skipList
diff --git a/git-fsck.html b/git-fsck.html
index 0a795cace..b6bcbcf57 100644
--- a/git-fsck.html
+++ b/git-fsck.html
@@ -965,6 +965,8 @@ allow new instances of the same breakages go unnoticed.
Setting an unknown fsck.<msg-id>
value will cause fsck to die, but
doing the same for receive.fsck.<msg-id>
and fetch.fsck.<msg-id>
will only cause git to warn.
+See Fsck Messages
section of git-fsck(1) for supported
+values of <msg-id>
.
fsck.skipList
@@ -1065,6 +1067,445 @@ hash mismatch <object>
+
FSCK MESSAGES
+
+
The following lists the types of errors git fsck
detects and what
+each error means, with their default severity. The severity of the
+error, other than those that are marked as "(FATAL)", can be tweaked
+by setting the corresponding fsck.<msg-id>
configuration variable.
+
+-
+
badDate
+
+-
+
+ (ERROR) Invalid date format in an author/committer line.
+
+
+-
+
badDateOverflow
+
+-
+
+ (ERROR) Invalid date value in an author/committer line.
+
+
+-
+
badEmail
+
+-
+
+ (ERROR) Invalid email format in an author/committer line.
+
+
+-
+
badFilemode
+
+-
+
+ (INFO) A tree contains a bad filemode entry.
+
+
+-
+
badName
+
+-
+
+ (ERROR) An author/committer name is empty.
+
+
+-
+
badObjectSha1
+
+-
+
+ (ERROR) An object has a bad sha1.
+
+
+-
+
badParentSha1
+
+-
+
+ (ERROR) A commit object has a bad parent sha1.
+
+
+-
+
badTagName
+
+-
+
+ (INFO) A tag has an invalid format.
+
+
+-
+
badTimezone
+
+-
+
+ (ERROR) Found an invalid time zone in an author/committer line.
+
+
+-
+
badTree
+
+-
+
+ (ERROR) A tree cannot be parsed.
+
+
+-
+
badTreeSha1
+
+-
+
+ (ERROR) A tree has an invalid format.
+
+
+-
+
badType
+
+-
+
+ (ERROR) Found an invalid object type.
+
+
+-
+
duplicateEntries
+
+-
+
+ (ERROR) A tree contains duplicate file entries.
+
+
+-
+
emptyName
+
+-
+
+ (WARN) A path contains an empty name.
+
+
+-
+
extraHeaderEntry
+
+-
+
+ (IGNORE) Extra headers found after tagger
.
+
+
+-
+
fullPathname
+
+-
+
+ (WARN) A path contains the full path starting with "/".
+
+
+-
+
gitattributesSymlink
+
+-
+
+ (INFO) .gitattributes
is a symlink.
+
+
+-
+
gitignoreSymlink
+
+-
+
+ (INFO) .gitignore
is a symlink.
+
+
+-
+
gitmodulesBlob
+
+-
+
+ (ERROR) A non-blob found at .gitmodules
.
+
+
+-
+
gitmodulesLarge
+
+-
+
+ (ERROR) The .gitmodules
file is too large to parse.
+
+
+-
+
gitmodulesMissing
+
+-
+
+ (ERROR) Unable to read .gitmodules
blob.
+
+
+-
+
gitmodulesName
+
+-
+
+ (ERROR) A submodule name is invalid.
+
+
+-
+
gitmodulesParse
+
+-
+
+ (INFO) Could not parse .gitmodules
blob.
+
+
+
+
gitmodulesLarge
;
+ (ERROR) .gitmodules
blob is too large to parse.
+
+-
+
gitmodulesPath
+
+-
+
+ (ERROR) .gitmodules
path is invalid.
+
+
+-
+
gitmodulesSymlink
+
+-
+
+ (ERROR) .gitmodules
is a symlink.
+
+
+-
+
gitmodulesUpdate
+
+-
+
+ (ERROR) Found an invalid submodule update setting.
+
+
+-
+
gitmodulesUrl
+
+-
+
+ (ERROR) Found an invalid submodule url.
+
+
+-
+
hasDot
+
+-
+
+ (WARN) A tree contains an entry named .
.
+
+
+-
+
hasDotdot
+
+-
+
+ (WARN) A tree contains an entry named ..
.
+
+
+-
+
hasDotgit
+
+-
+
+ (WARN) A tree contains an entry named .git
.
+
+
+-
+
mailmapSymlink
+
+-
+
+ (INFO) .mailmap
is a symlink.
+
+
+-
+
missingAuthor
+
+-
+
+ (ERROR) Author is missing.
+
+
+-
+
missingCommitter
+
+-
+
+ (ERROR) Committer is missing.
+
+
+-
+
missingEmail
+
+-
+
+ (ERROR) Email is missing in an author/committer line.
+
+
+-
+
missingNameBeforeEmail
+
+-
+
+ (ERROR) Missing name before an email in an author/committer line.
+
+
+-
+
missingObject
+
+-
+
+ (ERROR) Missing object
line in tag object.
+
+
+-
+
missingSpaceBeforeDate
+
+-
+
+ (ERROR) Missing space before date in an author/committer line.
+
+
+-
+
missingSpaceBeforeEmail
+
+-
+
+ (ERROR) Missing space before the email in author/committer line.
+
+
+-
+
missingTag
+
+-
+
+ (ERROR) Unexpected end after type
line in a tag object.
+
+
+-
+
missingTagEntry
+
+-
+
+ (ERROR) Missing tag
line in a tag object.
+
+
+-
+
missingTaggerEntry
+
+-
+
+ (INFO) Missing tagger
line in a tag object.
+
+
+-
+
missingTree
+
+-
+
+ (ERROR) Missing tree
line in a commit object.
+
+
+-
+
missingType
+
+-
+
+ (ERROR) Invalid type value on the type
line in a tag object.
+
+
+-
+
missingTypeEntry
+
+-
+
+ (ERROR) Missing type
line in a tag object.
+
+
+-
+
multipleAuthors
+
+-
+
+ (ERROR) Multiple author lines found in a commit.
+
+
+-
+
nulInCommit
+
+-
+
+ (WARN) Found a NUL byte in the commit object body.
+
+
+-
+
nulInHeader
+
+-
+
+ (FATAL) NUL byte exists in the object header.
+
+
+-
+
nullSha1
+
+-
+
+ (WARN) Tree contains entries pointing to a null sha1.
+
+
+-
+
treeNotSorted
+
+-
+
+ (ERROR) A tree is not properly sorted.
+
+
+-
+
unknownType
+
+-
+
+ (ERROR) Found an unknown object type.
+
+
+-
+
unterminatedHeader
+
+-
+
+ (FATAL) Missing end-of-line in the object header.
+
+
+-
+
zeroPaddedDate
+
+-
+
+ (ERROR) Found a zero padded date in an author/commiter line.
+
+
+-
+
zeroPaddedFilemode
+
+-
+
+ (WARN) Found a zero padded filemode in a tree.
+
+
+
+
+
+
Environment Variables
@@ -1106,7 +1547,7 @@ GIT_ALTERNATE_OBJECT_DIRECTORIES