diff --git a/RelNotes/2.45.0.txt b/RelNotes/2.45.0.txt
index 903c66596..cabdaf48b 100644
--- a/RelNotes/2.45.0.txt
+++ b/RelNotes/2.45.0.txt
@@ -45,6 +45,18 @@ UI, Workflows & Features
* The output format for dates "iso-strict" has been tweaked to show
a time in the Zulu timezone with "Z" suffix, instead of "+00:00".
+ * "git diff" and friends learned two extra configuration variables,
+ diff.srcPrefix and diff.dstPrefix.
+
+ * The status.showUntrackedFiles configuration variable had a name
+ that tempts users to set a Boolean value expressed in our usual
+ "false", "off", and "0", but it only took "no". This has been
+ corrected so "true" and its synonyms are taken as "normal", while
+ "false" and its synonyms are taken as "no".
+
+ * Remove an ancient and not well maintained Hg-to-git migration
+ script from contrib/.
+
Performance, Internal Implementation, Development Support etc.
@@ -93,6 +105,12 @@ Performance, Internal Implementation, Development Support etc.
* The code to iterate over reflogs in the reftable has been optimized
to reduce memory allocation and deallocation.
+ * Work to support a repository that work with both SHA-1 and SHA-256
+ hash algorithms has started.
+
+ * A new fuzz target that exercises config parsing code has been
+ added.
+
Fixes since v2.44
-----------------
diff --git a/ReviewingGuidelines.html b/ReviewingGuidelines.html
index 26012a506..263681834 100644
--- a/ReviewingGuidelines.html
+++ b/ReviewingGuidelines.html
@@ -735,7 +735,7 @@ asciidoc.install();
diff --git a/diff-options.txt b/diff-options.txt
index aaaff0d46..0e9456957 100644
--- a/diff-options.txt
+++ b/diff-options.txt
@@ -865,8 +865,9 @@ endif::git-format-patch[]
--default-prefix::
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as `diff.noprefix`.
+ This overrides configuration variables such as `diff.noprefix`,
+ `diff.srcPrefix`, `diff.dstPrefix`, and `diff.mnemonicPrefix`
+ (see `git-config`(1)).
--line-prefix=::
Prepend an additional prefix to every line of output.
diff --git a/everyday.html b/everyday.html
index 46a7b5429..e889bef08 100644
--- a/everyday.html
+++ b/everyday.html
@@ -735,7 +735,7 @@ asciidoc.install();
Everyday Git With 20 Commands Or So
-2024-03-25
+2024-03-28
diff --git a/git-commit.html b/git-commit.html
index 992b1353a..5f02573ba 100644
--- a/git-commit.html
+++ b/git-commit.html
@@ -1348,7 +1348,9 @@ default is normal, i.e. show untracked files and directories.
-
The default can be changed using the status.showUntrackedFiles
+
All usual spellings for Boolean value true are taken as normal
+and false as no.
+The default can be changed using the status.showUntrackedFiles
configuration variable documented in git-config(1).
@@ -1840,7 +1842,7 @@ information.
diff --git a/git-commit.txt b/git-commit.txt
index a6cef5d82..89ecfc63a 100644
--- a/git-commit.txt
+++ b/git-commit.txt
@@ -347,6 +347,8 @@ The possible options are:
- 'normal' - Shows untracked files and directories
- 'all' - Also shows individual files in untracked directories.
+All usual spellings for Boolean value `true` are taken as `normal`
+and `false` as `no`.
The default can be changed using the status.showUntrackedFiles
configuration variable documented in linkgit:git-config[1].
--
diff --git a/git-config.html b/git-config.html
index 542229b30..3c638629a 100644
--- a/git-config.html
+++ b/git-config.html
@@ -4903,7 +4903,7 @@ diff.mnemonicPrefix
-diff.noprefix
+diff.noPrefix
@@ -4911,6 +4911,22 @@ diff.noprefix
+diff.srcPrefix
+
+
+
+ If set, git diff uses this source prefix. Defaults to "a/".
+
+
+
+diff.dstPrefix
+
+
+
+ If set, git diff uses this destination prefix. Defaults to "b/".
+
+
+
diff.relative
@@ -5423,6 +5439,22 @@ extensions.objectFormat
work and will produce hard-to-diagnose issues.
+extensions.compatObjectFormat
+
+
+
+ Specify a compatitbility hash algorithm to use. The acceptable values
+ are sha1 and sha256. The value specified must be different from the
+ value of extensions.objectFormat. This allows client level
+ interoperability between git repositories whose objectFormat matches
+ this compatObjectFormat. In particular when fully implemented the
+ pushes and pulls from a repository in whose objectFormat matches
+ compatObjectFormat. As well as being able to use oids encoded in
+ compatObjectFormat in addition to oids encoded with objectFormat to
+ locally specify objects.
+
+
+
extensions.refStorage
@@ -10982,6 +11014,8 @@ status.showUntrackedFiles
If this variable is not specified, it defaults to normal.
+All usual spellings for Boolean value true are taken as normal
+and false as no.
This variable can be overridden with the -u|--untracked-files option
of git-status(1) and git-commit(1).
diff --git a/git-diff-files.html b/git-diff-files.html
index 357e16e15..53a210965 100644
--- a/git-diff-files.html
+++ b/git-diff-files.html
@@ -2024,8 +2024,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-diff-index.html b/git-diff-index.html
index 7f9d6901e..8ccf040b0 100644
--- a/git-diff-index.html
+++ b/git-diff-index.html
@@ -2025,8 +2025,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-diff-tree.html b/git-diff-tree.html
index 725398b78..4d2ab3629 100644
--- a/git-diff-tree.html
+++ b/git-diff-tree.html
@@ -2026,8 +2026,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-diff.html b/git-diff.html
index ead5a8cea..f10849177 100644
--- a/git-diff.html
+++ b/git-diff.html
@@ -2166,8 +2166,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
@@ -3224,7 +3225,7 @@ diff.mnemonicPrefix
-diff.noprefix
+diff.noPrefix
@@ -3232,6 +3233,22 @@ diff.noprefix
+diff.srcPrefix
+
+
+
+ If set, git diff uses this source prefix. Defaults to "a/".
+
+
+
+diff.dstPrefix
+
+
+
+ If set, git diff uses this destination prefix. Defaults to "b/".
+
+
+
diff.relative
diff --git a/git-format-patch.html b/git-format-patch.html
index b069e3a1e..2e19e47b6 100644
--- a/git-format-patch.html
+++ b/git-format-patch.html
@@ -1606,8 +1606,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-log.html b/git-log.html
index 0df8f7716..600c6efaf 100644
--- a/git-log.html
+++ b/git-log.html
@@ -4954,8 +4954,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-rev-parse.html b/git-rev-parse.html
index 632270b21..d50d9174f 100644
--- a/git-rev-parse.html
+++ b/git-rev-parse.html
@@ -1001,6 +1001,28 @@ for another option.
refnames (e.g. "refs/heads/master").
+
+--output-object-format=(sha1|sha256|storage)
+
+
+
+ Allow oids to be input from any object format that the current
+ repository supports.
+
+
+
+
Specifying "sha1" translates if necessary and returns a sha1 oid.
+
+
+
+
Specifying "sha256" translates if necessary and returns a sha256 oid.
+
+
+
+
Specifying "storage" translates if necessary and returns an oid in
+encoded in the storage hash algorithm.
+
+
@@ -2159,7 +2181,7 @@ Similar to above:
diff --git a/git-rev-parse.txt b/git-rev-parse.txt
index 5d83dd36d..f9d5a35fa 100644
--- a/git-rev-parse.txt
+++ b/git-rev-parse.txt
@@ -159,6 +159,18 @@ for another option.
unfortunately named tag "master"), and shows them as full
refnames (e.g. "refs/heads/master").
+--output-object-format=(sha1|sha256|storage)::
+
+ Allow oids to be input from any object format that the current
+ repository supports.
+
+ Specifying "sha1" translates if necessary and returns a sha1 oid.
+
+ Specifying "sha256" translates if necessary and returns a sha256 oid.
+
+ Specifying "storage" translates if necessary and returns an oid in
+ encoded in the storage hash algorithm.
+
Options for Objects
~~~~~~~~~~~~~~~~~~~
diff --git a/git-show.html b/git-show.html
index cb418c994..89367cb5e 100644
--- a/git-show.html
+++ b/git-show.html
@@ -3406,8 +3406,9 @@ matches "fooasdfbar" and "foo/bar/baz/asdf" but not "<
Use the default source and destination prefixes ("a/" and "b/").
- This is usually the default already, but may be used to override
- config such as diff.noprefix.
+ This overrides configuration variables such as diff.noprefix,
+ diff.srcPrefix, diff.dstPrefix, and diff.mnemonicPrefix
+ (see git-config(1)).
diff --git a/git-status.html b/git-status.html
index f8cd29158..d67bdfe85 100644
--- a/git-status.html
+++ b/git-status.html
@@ -877,7 +877,9 @@ time in a large working tree.
Consider enabling untracked cache and split index if supported (see
git update-index --untracked-cache and git update-index
--split-index), Otherwise you can use no to have git status
-return more quickly without showing untracked files.
+return more quickly without showing untracked files.
+All usual spellings for Boolean value true are taken as normal
+and false as no.
The default can be changed using the status.showUntrackedFiles
configuration variable documented in git-config(1).
@@ -1464,7 +1466,7 @@ normal.
diff --git a/git-status.txt b/git-status.txt
index b0f36fabf..9a376886a 100644
--- a/git-status.txt
+++ b/git-status.txt
@@ -79,6 +79,8 @@ Consider enabling untracked cache and split index if supported (see
`git update-index --untracked-cache` and `git update-index
--split-index`), Otherwise you can use `no` to have `git status`
return more quickly without showing untracked files.
+All usual spellings for Boolean value `true` are taken as `normal`
+and `false` as `no`.
The default can be changed using the status.showUntrackedFiles
configuration variable documented in linkgit:git-config[1].
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html
index 23bbc15b8..88ffc5284 100644
--- a/howto/coordinate-embargoed-releases.html
+++ b/howto/coordinate-embargoed-releases.html
@@ -1038,7 +1038,7 @@ Thanks,
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html
index 72e7d2b18..2e7dcd4a3 100644
--- a/howto/keep-canonical-history-correct.html
+++ b/howto/keep-canonical-history-correct.html
@@ -735,7 +735,7 @@ asciidoc.install();
Keep authoritative canonical history correct with git pull
-2024-03-25
+2024-03-28
@@ -939,7 +939,7 @@ tip of your master again and redo the two merges:
@@ -848,7 +848,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 0056f5b33..d80d64773 100644
--- a/howto/recover-corrupted-blob-object.html
+++ b/howto/recover-corrupted-blob-object.html
@@ -735,7 +735,7 @@ asciidoc.install();
@@ -849,7 +849,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 261a672c1..0aa688db0 100644
--- a/howto/using-signed-tag-in-pull-request.html
+++ b/howto/using-signed-tag-in-pull-request.html
@@ -735,7 +735,7 @@ asciidoc.install();