Autogenerated HTML docs for v2.51.0-480-g60f3f5
diff --git a/BreakingChanges.adoc b/BreakingChanges.adoc
index a67ad4e..90b53ab 100644
--- a/BreakingChanges.adoc
+++ b/BreakingChanges.adoc
@@ -171,6 +171,51 @@
   matches the default branch name used in new repositories by many of the
   big Git forges.
 
+* Git will require Rust as a mandatory part of the build process. While Git
+  already started to adopt Rust in Git 2.49, all parts written in Rust are
+  optional for the time being. This includes:
++
+  ** The Rust wrapper around libgit.a that is part of "contrib/" and which has
+     been introduced in Git 2.49.
+  ** Subsystems that have an alternative implementation in Rust to test
+     interoperability between our C and Rust codebase.
+  ** Newly written features that are not mission critical for a fully functional
+     Git client.
++
+These changes are meant as test balloons to allow distributors of Git to prepare
+for Rust becoming a mandatory part of the build process. There will be multiple
+milestones for the introduction of Rust:
++
+--
+1. Initially, with Git 2.52, support for Rust will be auto-detected by Meson and
+   disabled in our Makefile so that the project can sort out the initial
+   infrastructure.
+2. In Git 2.53, both build systems will default-enable support for Rust.
+   Consequently, builds will break by default if Rust is not available on the
+   build host. The use of Rust can still be explicitly disabled via build
+   flags.
+3. In Git 3.0, the build options will be removed and support for Rust is
+   mandatory.
+--
++
+You can explicitly ask both Meson and our Makefile-based system to enable Rust
+by saying `meson configure -Drust=enabled` and `make WITH_RUST=YesPlease`,
+respectively.
++
+The Git project will declare the last version before Git 3.0 to be a long-term
+support release. This long-term release will receive important bug fixes for at
+least four release cycles and security fixes for six release cycles. The Git
+project will hand over maintainership of the long-term release to distributors
+in case they need to extend the life of that long-term release even further.
+Details of how this long-term release will be handed over to the community will
+be discussed once the Git project decides to stop officially supporting it.
++
+We will evaluate the impact on downstream distributions before making Rust
+mandatory in Git 3.0. If we see that the impact on downstream distributions
+would be significant, we may decide to defer this change to a subsequent minor
+release. This evaluation will also take into account our own experience with
+how painful it is to keep Rust an optional component.
+
 === Removals
 
 * Support for grafting commits has long been superseded by git-replace(1).
diff --git a/BreakingChanges.html b/BreakingChanges.html
index 834d6c9..cd65c76 100644
--- a/BreakingChanges.html
+++ b/BreakingChanges.html
@@ -694,6 +694,76 @@
 matches the default branch name used in new repositories by many of the
 big Git forges.</p>
 </li>
+<li>
+<p>Git will require Rust as a mandatory part of the build process. While Git
+already started to adopt Rust in Git 2.49, all parts written in Rust are
+optional for the time being. This includes:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>The Rust wrapper around libgit.a that is part of "contrib/" and which has
+been introduced in Git 2.49.</p>
+</li>
+<li>
+<p>Subsystems that have an alternative implementation in Rust to test
+interoperability between our C and Rust codebase.</p>
+</li>
+<li>
+<p>Newly written features that are not mission critical for a fully functional
+Git client.</p>
+<div class="paragraph">
+<p>These changes are meant as test balloons to allow distributors of Git to prepare
+for Rust becoming a mandatory part of the build process. There will be multiple
+milestones for the introduction of Rust:</p>
+</div>
+<div class="openblock">
+<div class="content">
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Initially, with Git 2.52, support for Rust will be auto-detected by Meson and
+disabled in our Makefile so that the project can sort out the initial
+infrastructure.</p>
+</li>
+<li>
+<p>In Git 2.53, both build systems will default-enable support for Rust.
+Consequently, builds will break by default if Rust is not available on the
+build host. The use of Rust can still be explicitly disabled via build
+flags.</p>
+</li>
+<li>
+<p>In Git 3.0, the build options will be removed and support for Rust is
+mandatory.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="paragraph">
+<p>You can explicitly ask both Meson and our Makefile-based system to enable Rust
+by saying <code>meson</code> <code>configure</code> <code>-Drust=enabled</code> and <code>make</code> <code>WITH_RUST=YesPlease</code>,
+respectively.</p>
+</div>
+<div class="paragraph">
+<p>The Git project will declare the last version before Git 3.0 to be a long-term
+support release. This long-term release will receive important bug fixes for at
+least four release cycles and security fixes for six release cycles. The Git
+project will hand over maintainership of the long-term release to distributors
+in case they need to extend the life of that long-term release even further.
+Details of how this long-term release will be handed over to the community will
+be discussed once the Git project decides to stop officially supporting it.</p>
+</div>
+<div class="paragraph">
+<p>We will evaluate the impact on downstream distributions before making Rust
+mandatory in Git 3.0. If we see that the impact on downstream distributions
+would be significant, we may decide to defer this change to a subsequent minor
+release. This evaluation will also take into account our own experience with
+how painful it is to keep Rust an optional component.</p>
+</div>
+</li>
+</ul>
+</div>
+</li>
 </ul>
 </div>
 </div>
@@ -839,7 +909,7 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2025-10-02 14:07:14 -0700
+Last updated 2025-10-08 13:52:53 -0700
 </div>
 </div>
 </body>
diff --git a/RelNotes/2.52.0.adoc b/RelNotes/2.52.0.adoc
index ee7ea2e..7fb1a3c 100644
--- a/RelNotes/2.52.0.adoc
+++ b/RelNotes/2.52.0.adoc
@@ -113,6 +113,9 @@
    documentation, similar to "make doc".
    (merge ff4ec8ded0 ps/meson-build-docs later to maint).
 
+ * Dip our toes a bit to (optionally) use Rust implemented helper
+   called from our C code.
+
 
 Fixes since v2.51
 -----------------
@@ -289,6 +292,12 @@
    checking has been updated to use the existing helper function.
    (merge ecc5749578 js/curl-off-t-fixes later to maint).
 
+ * "git reflog write" did not honor the configured user.name/email
+   which has been corrected.
+
+ * Handling of an empty subdirectory of .git/refs/ in the ref-files
+   backend has been corrected.
+
  * Other code cleanup, docfix, build fix, etc.
    (merge 823d537fa7 kh/doc-git-log-markup-fix later to maint).
    (merge cf7efa4f33 rj/t6137-cygwin-fix later to maint).
@@ -315,3 +324,4 @@
    (merge fafc9b08b8 ag/doc-sendmail-gmail-example-update later to maint).
    (merge a66fc22bf9 rs/get-oid-with-flags-cleanup later to maint).
    (merge e1d062e8ba ps/odb-clean-stale-wrappers later to maint).
+   (merge fdd21ba116 mh/doc-credential-url-prefix later to maint).
diff --git a/gitcredentials.adoc b/gitcredentials.adoc
index 3337bb4..60c2cc4 100644
--- a/gitcredentials.adoc
+++ b/gitcredentials.adoc
@@ -150,9 +150,8 @@
 	username = foo
 --------------------------------------
 
-then we will match: both protocols are the same, both hosts are the same, and
-the "pattern" URL does not care about the path component at all. However, this
-context would not match:
+then we will match: both protocols are the same and both hosts are the same.
+However, this context would not match:
 
 --------------------------------------
 [credential "https://kernel.org"]
@@ -166,11 +165,11 @@
 the domain name and other pattern matching techniques as with the `http.<URL>.*`
 options.
 
-If the "pattern" URL does include a path component, then this too must match
-exactly: the context `https://example.com/bar/baz.git` will match a config
-entry for `https://example.com/bar/baz.git` (in addition to matching the config
-entry for `https://example.com`) but will not match a config entry for
-`https://example.com/bar`.
+If the "pattern" URL does include a path component, then this must match
+as a prefix path: the context `https://example.com/bar` will match a config
+entry for `https://example.com/bar/baz.git` but will not match a config entry for
+`https://example.com/other/repo.git` or `https://example.com/barry/repo.git`
+(even though it is a string prefix).
 
 
 CONFIGURATION OPTIONS
diff --git a/gitcredentials.html b/gitcredentials.html
index 4df81cc..01741c2 100644
--- a/gitcredentials.html
+++ b/gitcredentials.html
@@ -664,9 +664,8 @@
 </div>
 </div>
 <div class="paragraph">
-<p>then we will match: both protocols are the same, both hosts are the same, and
-the "pattern" URL does not care about the path component at all. However, this
-context would not match:</p>
+<p>then we will match: both protocols are the same and both hosts are the same.
+However, this context would not match:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -683,11 +682,11 @@
 options.</p>
 </div>
 <div class="paragraph">
-<p>If the "pattern" URL does include a path component, then this too must match
-exactly: the context <code>https://example.com/bar/baz.git</code> will match a config
-entry for <code>https://example.com/bar/baz.git</code> (in addition to matching the config
-entry for <code>https://example.com</code>) but will not match a config entry for
-<code>https://example.com/bar</code>.</p>
+<p>If the "pattern" URL does include a path component, then this must match
+as a prefix path: the context <code>https://example.com/bar</code> will match a config
+entry for <code>https://example.com/bar/baz.git</code> but will not match a config entry for
+<code>https://example.com/other/repo.git</code> or <code>https://example.com/barry/repo.git</code>
+(even though it is a string prefix).</p>
 </div>
 </div>
 </div>
@@ -899,7 +898,7 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2025-06-24 11:24:02 -0700
+Last updated 2025-10-08 13:52:53 -0700
 </div>
 </div>
 </body>