<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/help.c, branch v2.51.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.51.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.51.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2025-07-23T15:15:19Z</updated>
<entry>
<title>config: drop `git_config_get_string()` wrapper</title>
<updated>2025-07-23T15:15:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-23T14:08:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cba3c02591b820fdb812cb2c2ebb5dbd98761ba8'/>
<id>urn:sha1:cba3c02591b820fdb812cb2c2ebb5dbd98761ba8</id>
<content type='text'>
In 036876a1067 (config: hide functions using `the_repository` by
default, 2024-08-13) we have moved around a bunch of functions in the
config subsystem that depend on `the_repository`. Those function have
been converted into mere wrappers around their equivalent function that
takes in a repository as parameter, and the intent was that we'll
eventually remove those wrappers to make the dependency on the global
repository variable explicit at the callsite.

Follow through with that intent and remove `git_config_get_string()`.
All callsites are adjusted so that they use
`repo_config_get_string(the_repository, ...)` instead. While some
callsites might already have a repository available, this mechanical
conversion is the exact same as the current situation and thus cannot
cause any regression. Those sites should eventually be cleaned up in a
later patch series.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>config: drop `git_config()` wrapper</title>
<updated>2025-07-23T15:15:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-23T14:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ce196e86b455fa2552812802c58f30c090c94af'/>
<id>urn:sha1:9ce196e86b455fa2552812802c58f30c090c94af</id>
<content type='text'>
In 036876a1067 (config: hide functions using `the_repository` by
default, 2024-08-13) we have moved around a bunch of functions in the
config subsystem that depend on `the_repository`. Those function have
been converted into mere wrappers around their equivalent function that
takes in a repository as parameter, and the intent was that we'll
eventually remove those wrappers to make the dependency on the global
repository variable explicit at the callsite.

Follow through with that intent and remove `git_config()`. All callsites
are adjusted so that they use `repo_config(the_repository, ...)`
instead. While some callsites might already have a repository available,
this mechanical conversion is the exact same as the current situation
and thus cannot cause any regression. Those sites should eventually be
cleaned up in a later patch series.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bc/use-sha256-by-default-in-3.0' into ps/config-wo-the-repository</title>
<updated>2025-07-17T16:30:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-07-17T16:30:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=86c9c14eb9c7bfa20efd8d65f1aaa685282b7221'/>
<id>urn:sha1:86c9c14eb9c7bfa20efd8d65f1aaa685282b7221</id>
<content type='text'>
* bc/use-sha256-by-default-in-3.0:
  Enable SHA-256 by default in breaking changes mode
  help: add a build option for default hash
  t5300: choose the built-in hash outside of a repo
  t4042: choose the built-in hash outside of a repo
  t1007: choose the built-in hash outside of a repo
  t: default to compile-time default hash if not set
  setup: use the default algorithm to initialize repo format
  Use legacy hash for legacy formats
  builtin: use default hash when outside a repository
  hash: add a constant for the legacy hash algorithm
  hash: add a constant for the default hash algorithm
</content>
</entry>
<entry>
<title>BreakingChanges: announce switch to "reftable" format</title>
<updated>2025-07-07T13:26:21Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-07-04T09:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d0b94577dda3a50c1833626a70ebefd478bfcbf9'/>
<id>urn:sha1:d0b94577dda3a50c1833626a70ebefd478bfcbf9</id>
<content type='text'>
The "reftable" format has come a long way and has matured nicely since
it has been merged into git via 57db2a094d5 (refs: introduce reftable
backend, 2024-02-07). It fixes longstanding issues that cannot be fixed
with the "files" format in a backwards-compatible way and performs
significantly better in many use cases.

Announce that we will switch to the "reftable" format in Git 3.0 for
newly created repositories and wire up the change, hidden behind the
WITH_BREAKING_CHANGES preprocessor define.

This switch is dependent on support in the larger Git ecosystem. Most
importantly, libraries like JGit, libgit2 and Gitoxide should support
the reftable backend so that we don't break all applications and tools
built on top of those libraries.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>help: add a build option for default hash</title>
<updated>2025-07-01T21:58:26Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2025-07-01T21:22:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=39153c809711885ca2ea5b527e4ff893170f1b6f'/>
<id>urn:sha1:39153c809711885ca2ea5b527e4ff893170f1b6f</id>
<content type='text'>
We'd like users to be able to determine the hash algorithm that is the
builtin default in their version of Git.  This is useful for
troubleshooting, especially when we decide to change the default.  Add
an entry for the default hash in the output of git version
--build-options so that users can easily access that information and
include it in bug reports.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Avoid redundant conditions</title>
<updated>2025-05-15T20:46:47Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2025-05-15T13:11:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3d39bcd98ecce0fce77b00fd680bd245b2161ddf'/>
<id>urn:sha1:3d39bcd98ecce0fce77b00fd680bd245b2161ddf</id>
<content type='text'>
While `if (i &lt;= 0) ... else if (i &gt; 0) ...` is technically equivalent to
`if (i &lt;= 0) ... else ...`, the latter is vastly easier to read because
it avoids writing out a condition that is unnecessary. Let's drop such
unnecessary conditions.

Pointed out by CodeQL.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>help: include unsafe SHA-1 build info in version</title>
<updated>2025-04-07T21:39:27Z</updated>
<author>
<name>Justin Tobler</name>
<email>jltobler@gmail.com</email>
</author>
<published>2025-04-03T14:05:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6cf65440d39250880e747d2c5281881e95eb9499'/>
<id>urn:sha1:6cf65440d39250880e747d2c5281881e95eb9499</id>
<content type='text'>
In 06c92dafb8 (Makefile: allow specifying a SHA-1 for non-cryptographic
uses, 2024-09-26), support for unsafe SHA-1 is added. Add the unsafe
SHA-1 build info to `git version --build-info` and update corresponding
documentation.

Signed-off-by: Justin Tobler &lt;jltobler@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>help: include SHA implementation in version info</title>
<updated>2025-04-07T21:39:26Z</updated>
<author>
<name>Justin Tobler</name>
<email>jltobler@gmail.com</email>
</author>
<published>2025-04-03T14:05:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=16fd6c85e4d036e789916e4d802b47a792fe496e'/>
<id>urn:sha1:16fd6c85e4d036e789916e4d802b47a792fe496e</id>
<content type='text'>
When the `--build-options` flag is used with git-version(1), additional
information about the built version of Git is printed. During build
time, different SHA implementations may be configured, but this
information is not included in the version info.

Add the SHA implementations Git is built with to the version info by
requiring each backend to define a SHA1_BACKEND or SHA256_BACKEND symbol
as appropriate and use the value in the printed build options.

Signed-off-by: Justin Tobler &lt;jltobler@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'tc/zlib-ng-fix'</title>
<updated>2025-03-12T19:06:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2025-03-12T19:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=870c74987be9323012b9a55841143758fe4fccec'/>
<id>urn:sha1:870c74987be9323012b9a55841143758fe4fccec</id>
<content type='text'>
"git version --build-options" stopped showing zlib version by
mistake due to recent refactoring, which has been corrected.

* tc/zlib-ng-fix:
  help: print zlib-ng version number
  help: include git-zlib.h to print zlib version
</content>
</entry>
<entry>
<title>help: print zlib-ng version number</title>
<updated>2025-03-07T20:23:30Z</updated>
<author>
<name>Toon Claes</name>
<email>toon@iotcl.com</email>
</author>
<published>2025-03-07T14:18:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2b1e0f8cd5058c7e0b85760e54706b9e74cb4766'/>
<id>urn:sha1:2b1e0f8cd5058c7e0b85760e54706b9e74cb4766</id>
<content type='text'>
When building against zlib-ng, the header file `zlib.h` is not included,
but `zlib-ng.h` is included instead. It's `zlib.h` that defines
`ZLIB_VERSION` and that macro is used to print out zlib version in
`git-version(1)` with `--build-options`. But when it's not defined, no
version is printed.

`zlib-ng.h` defines another macro: `ZLIBNG_VERSION`. Use that macro to
print the zlib-ng version in `git version --build-options` when it's
set. Otherwise fallback to `ZLIB_VERSION`.

Signed-off-by: Toon Claes &lt;toon@iotcl.com&gt;
Helped-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Reviewed-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
