Autogenerated HTML docs for v2.51.2-636-ga99f3
diff --git a/BreakingChanges.adoc b/BreakingChanges.adoc
index 90b53ab..f814450 100644
--- a/BreakingChanges.adoc
+++ b/BreakingChanges.adoc
@@ -295,6 +295,26 @@
+
cf. <xmqqa59i45wc.fsf@gitster.g>
+* Support for `core.preferSymlinkRefs=true` has been deprecated and will be
+ removed in Git 3.0. Writing symbolic refs as symbolic links will be phased
+ out in favor of using plain files using the textual representation of
+ symbolic refs.
++
+Symbolic references were initially always stored as a symbolic link. This was
+changed in 9b143c6e15 (Teach update-ref about a symbolic ref stored in a
+textfile., 2005-09-25), where a new textual symref format was introduced to
+store those symbolic refs in a plain file. In 9f0bb90d16
+(core.prefersymlinkrefs: use symlinks for .git/HEAD, 2006-05-02), the Git
+project switched the default to use the textual symrefs in favor of symbolic
+links.
++
+The migration away from symbolic links has happened almost 20 years ago by now,
+and there is no known reason why one should prefer them nowadays. Furthermore,
+symbolic links are not supported on some platforms.
++
+Note that only the writing side for such symbolic links is deprecated. Reading
+such symbolic links is still supported for now.
+
== Superseded features that will not be deprecated
Some features have gained newer replacements that aim to improve the design in
diff --git a/BreakingChanges.html b/BreakingChanges.html
index cd65c76..cc3d9d5 100644
--- a/BreakingChanges.html
+++ b/BreakingChanges.html
@@ -871,6 +871,30 @@
<p>cf. <xmqqa59i45wc.fsf@gitster.g></p>
</div>
</li>
+<li>
+<p>Support for <code>core.preferSymlinkRefs=true</code> has been deprecated and will be
+removed in Git 3.0. Writing symbolic refs as symbolic links will be phased
+out in favor of using plain files using the textual representation of
+symbolic refs.</p>
+<div class="paragraph">
+<p>Symbolic references were initially always stored as a symbolic link. This was
+changed in 9b143c6e15 (Teach update-ref about a symbolic ref stored in a
+textfile., 2005-09-25), where a new textual symref format was introduced to
+store those symbolic refs in a plain file. In 9f0bb90d16
+(core.prefersymlinkrefs: use symlinks for .git/HEAD, 2006-05-02), the Git
+project switched the default to use the textual symrefs in favor of symbolic
+links.</p>
+</div>
+<div class="paragraph">
+<p>The migration away from symbolic links has happened almost 20 years ago by now,
+and there is no known reason why one should prefer them nowadays. Furthermore,
+symbolic links are not supported on some platforms.</p>
+</div>
+<div class="paragraph">
+<p>Note that only the writing side for such symbolic links is deprecated. Reading
+such symbolic links is still supported for now.</p>
+</div>
+</li>
</ul>
</div>
</div>
@@ -909,7 +933,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2025-10-08 13:52:53 -0700
+Last updated 2025-10-30 13:01:01 -0700
</div>
</div>
</body>
diff --git a/RelNotes/2.52.0.adoc b/RelNotes/2.52.0.adoc
index a7f9afc..a86e2c0 100644
--- a/RelNotes/2.52.0.adoc
+++ b/RelNotes/2.52.0.adoc
@@ -64,6 +64,12 @@
* "git fast-import" is taught to handle signed tags, just like it
recently learned to handle signed commits, in different ways.
+ * A new configuration variable commitGraph.changedPaths allows to
+ turn "--changed-paths" on by default for "git commit-graph".
+
+ * "Symlink symref" has been added to the list of things that will
+ disappear at Git 3.0 boundary.
+
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
@@ -149,6 +155,9 @@
* The code in "git repack" machinery has been cleaned up to prepare
for incremental update of midx files.
+ * Two slightly different ways to get at "all the packfiles" in API
+ has been cleaned up.
+
Fixes since v2.51
-----------------
@@ -359,6 +368,20 @@
fail doe to overly long pathname in our test environment, which has
been worked around by using "ssh-agent -T".
+ * strbuf_split*() to split a string into multiple strbufs is often a
+ wrong API to use. A few uses of it have been removed by
+ simplifying the code.
+ (merge 2ab72a16d9 ob/gpg-interface-cleanup later to maint).
+
+ * "git shortlog" knows "--committer" and "--author" options, which
+ the command line completion (in contrib/) did not handle well,
+ which has been corrected.
+ (merge c568fa8e1c kf/log-shortlog-completion-fix later to maint).
+
+ * "git bisect" command did not react correctly to "git bisect help"
+ and "git bisect unknown", which has been corrected.
+ (merge 2bb3a012f3 rz/bisect-help-unknown later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge 529a60a885 ua/t1517-short-help-tests later to maint).
(merge 22d421fed9 ac/deglobal-fmt-merge-log-config later to maint).
diff --git a/git-commit-graph.adoc b/git-commit-graph.adoc
index e955817..6d19026 100644
--- a/git-commit-graph.adoc
+++ b/git-commit-graph.adoc
@@ -71,7 +71,7 @@
for getting history of a directory or a file with `git log -- <path>`. If
this option is given, future commit-graph writes will automatically assume
that this option was intended. Use `--no-changed-paths` to stop storing this
-data.
+data. `--changed-paths` is implied by config `commitGraph.changedPaths=true`.
+
With the `--max-new-filters=<n>` option, generate at most `n` new Bloom
filters (if `--changed-paths` is specified). If `n` is `-1`, no limit is
diff --git a/git-commit-graph.html b/git-commit-graph.html
index 4897f6a..db084a0 100644
--- a/git-commit-graph.html
+++ b/git-commit-graph.html
@@ -533,7 +533,7 @@
for getting history of a directory or a file with <code>git</code> <code>log</code> <code>--</code> <em><path></em>. If
this option is given, future commit-graph writes will automatically assume
that this option was intended. Use <code>--no-changed-paths</code> to stop storing this
-data.</p>
+data. <code>--changed-paths</code> is implied by config <code>commitGraph.changedPaths=true</code>.</p>
</div>
<div class="paragraph">
<p>With the <code>--max-new-filters=</code><em><n></em> option, generate at most <code>n</code> new Bloom
@@ -659,6 +659,18 @@
<p>Specifies the default value for the <code>--max-new-filters</code> option of <code>git</code>
<code>commit-graph</code> <code>write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).</p>
</dd>
+<dt class="hdlist1">commitGraph.changedPaths</dt>
+<dd>
+<p>If true, then <code>git</code> <code>commit-graph</code> <code>write</code> will compute and write
+changed-path Bloom filters by default, equivalent to passing
+<code>--changed-paths</code>. If false or unset, changed-paths Bloom filters will
+be written during <code>git</code> <code>commit-graph</code> <code>write</code> only if the filters already
+exist in the current commit-graph file. This matches the default
+behavior of <code>git</code> <code>commit-graph</code> <code>write</code> without any <code>--</code>[<code>no-</code>]<code>changed-paths</code>
+option. To rewrite a commit-graph file without any filters, use the
+<code>--no-changed-paths</code> option. Command-line option <code>--</code>[<code>no-</code>]<code>changed-paths</code>
+always takes precedence over this configuration. Defaults to unset.</p>
+</dd>
<dt class="hdlist1">commitGraph.readChangedPaths</dt>
<dd>
<p>Deprecated. Equivalent to commitGraph.changedPathsVersion=-1 if true, and
@@ -718,7 +730,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2025-08-25 14:46:08 -0700
+Last updated 2025-10-30 13:01:01 -0700
</div>
</div>
</body>
diff --git a/git-config.html b/git-config.html
index 33194ef..4e06585 100644
--- a/git-config.html
+++ b/git-config.html
@@ -2956,6 +2956,18 @@
<p>Specifies the default value for the <code>--max-new-filters</code> option of <code>git</code>
<code>commit-graph</code> <code>write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).</p>
</dd>
+<dt class="hdlist1">commitGraph.changedPaths</dt>
+<dd>
+<p>If true, then <code>git</code> <code>commit-graph</code> <code>write</code> will compute and write
+changed-path Bloom filters by default, equivalent to passing
+<code>--changed-paths</code>. If false or unset, changed-paths Bloom filters will
+be written during <code>git</code> <code>commit-graph</code> <code>write</code> only if the filters already
+exist in the current commit-graph file. This matches the default
+behavior of <code>git</code> <code>commit-graph</code> <code>write</code> without any <code>--</code>[<code>no-</code>]<code>changed-paths</code>
+option. To rewrite a commit-graph file without any filters, use the
+<code>--no-changed-paths</code> option. Command-line option <code>--</code>[<code>no-</code>]<code>changed-paths</code>
+always takes precedence over this configuration. Defaults to unset.</p>
+</dd>
<dt class="hdlist1">commitGraph.readChangedPaths</dt>
<dd>
<p>Deprecated. Equivalent to commitGraph.changedPathsVersion=-1 if true, and
@@ -3338,6 +3350,10 @@
and other symbolic reference files, use symbolic links.
This is sometimes needed to work with old scripts that
expect HEAD to be a symbolic link.</p>
+<div class="paragraph">
+<p>This configuration is deprecated and will be removed in Git 3.0. Symbolic refs
+will always be written as textual symrefs.</p>
+</div>
</dd>
<dt class="hdlist1">core.alternateRefsCommand</dt>
<dd>