<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Makefile, branch v2.47.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.47.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.47.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-10-02T14:46:27Z</updated>
<entry>
<title>Merge branch 'tb/weak-sha1-for-tail-sum'</title>
<updated>2024-10-02T14:46:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-10-02T14:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ead0a050e2eddf8c67ee3404e165bffd42c6fd42'/>
<id>urn:sha1:ead0a050e2eddf8c67ee3404e165bffd42c6fd42</id>
<content type='text'>
The checksum at the tail of files are now computed without
collision detection protection.  This is safe as the consumer of
the information to protect itself from replay attacks checks for
hash collisions independently.

* tb/weak-sha1-for-tail-sum:
  csum-file.c: use unsafe SHA-1 implementation when available
  Makefile: allow specifying a SHA-1 for non-cryptographic uses
  hash.h: scaffolding for _unsafe hashing variants
  sha1: do not redefine `platform_SHA_CTX` and friends
  pack-objects: use finalize_object_file() to rename pack/idx/etc
  finalize_object_file(): implement collision check
  finalize_object_file(): refactor unlink_or_warn() placement
  finalize_object_file(): check for name collision before renaming
</content>
</entry>
<entry>
<title>Makefile: allow specifying a SHA-1 for non-cryptographic uses</title>
<updated>2024-09-27T18:27:47Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2024-09-26T15:22:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=06c92dafb86fd390285e20b743f5a61b45055546'/>
<id>urn:sha1:06c92dafb86fd390285e20b743f5a61b45055546</id>
<content type='text'>
Introduce _UNSAFE variants of the OPENSSL_SHA1, BLK_SHA1, and
APPLE_COMMON_CRYPTO_SHA1 compile-time knobs which indicate which SHA-1
implementation is to be used for non-cryptographic uses.

There are a couple of small implementation notes worth mentioning:

  - There is no way to select the collision detecting SHA-1 as the
    "fast" fallback, since the fast fallback is only for
    non-cryptographic uses, and is meant to be faster than our
    collision-detecting implementation.

  - There are no similar knobs for SHA-256, since no collision attacks
    are presently known and thus no collision-detecting implementations
    actually exist.

Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/reftable-exclude'</title>
<updated>2024-09-25T17:37:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-09-25T17:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=52f57e94bd1cc32eef1b02b941250720017f0b34'/>
<id>urn:sha1:52f57e94bd1cc32eef1b02b941250720017f0b34</id>
<content type='text'>
The reftable backend learned to more efficiently handle exclude
patterns while enumerating the refs.

* ps/reftable-exclude:
  refs/reftable: wire up support for exclude patterns
  reftable/reader: make table iterator reseekable
  t/unit-tests: introduce reftable library
  Makefile: stop listing test library objects twice
  builtin/receive-pack: fix exclude patterns when announcing refs
  refs: properly apply exclude patterns to namespaced refs
</content>
</entry>
<entry>
<title>Merge branch 'ps/clar-unit-test'</title>
<updated>2024-09-19T01:02:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-09-19T01:02:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d55832f5cf914d583881cdb6f7b76b1793e2b16'/>
<id>urn:sha1:5d55832f5cf914d583881cdb6f7b76b1793e2b16</id>
<content type='text'>
Import clar unit tests framework libgit2 folks invented for our
use.

* ps/clar-unit-test:
  Makefile: rename clar-related variables to avoid confusion
  clar: add CMake support
  t/unit-tests: convert ctype tests to use clar
  t/unit-tests: convert strvec tests to use clar
  t/unit-tests: implement test driver
  Makefile: wire up the clar unit testing framework
  Makefile: do not use sparse on third-party sources
  Makefile: make hdr-check depend on generated headers
  Makefile: fix sparse dependency on GENERATED_H
  clar: stop including `shellapi.h` unnecessarily
  clar(win32): avoid compile error due to unused `fs_copy()`
  clar: avoid compile error with mingw-w64
  t/clar: fix compatibility with NonStop
  t: import the clar unit testing framework
  t: do not pass GIT_TEST_OPTS to unit tests with prove
</content>
</entry>
<entry>
<title>Merge branch 'cp/unit-test-reftable-stack'</title>
<updated>2024-09-16T21:22:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-09-16T21:22:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c1f41bbe1a23aabdf9026c735dac58c181487e94'/>
<id>urn:sha1:c1f41bbe1a23aabdf9026c735dac58c181487e94</id>
<content type='text'>
Another reftable test migrated to the unit-test framework.

* cp/unit-test-reftable-stack:
  t-reftable-stack: add test for stack iterators
  t-reftable-stack: add test for non-default compaction factor
  t-reftable-stack: use reftable_ref_record_equal() to compare ref records
  t-reftable-stack: use Git's tempfile API instead of mkstemp()
  t: harmonize t-reftable-stack.c with coding guidelines
  t: move reftable/stack_test.c to the unit testing framework
</content>
</entry>
<entry>
<title>reftable/reader: make table iterator reseekable</title>
<updated>2024-09-16T20:57:19Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-09-16T08:50:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0a148a8eda7da6f7ff039ff2ea62b143ceb57f2f'/>
<id>urn:sha1:0a148a8eda7da6f7ff039ff2ea62b143ceb57f2f</id>
<content type='text'>
In 67ce50ba26 (Merge branch 'ps/reftable-reusable-iterator', 2024-05-30)
we have refactored the interface of reftable iterators such that they
can be reused in theory. This patch series only landed the required
changes on the interface level, but didn't yet implement the actual
logic to make iterators reusable.

As it turns out almost all of the infrastructure already does support
re-seeking. The only exception is the table iterator, which does not
reset its `is_finished` bit. Do so and add a couple of tests that verify
that we can re-seek iterators.

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>t/unit-tests: introduce reftable library</title>
<updated>2024-09-16T20:57:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-09-16T08:50:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a4f50bb1e9b6840bb4583ac4bc6d93bea9704879'/>
<id>urn:sha1:a4f50bb1e9b6840bb4583ac4bc6d93bea9704879</id>
<content type='text'>
We have recently migrated all of the reftable unit tests that were part
of the reftable library into our own unit testing framework. As part of
that migration we have duplicated some of the functionality that was
part of the reftable test framework into each of the migrated test
suites. This was a sensible decision to not have all of the migrations
dependent on each other, but now that the migration is done it makes
sense to deduplicate the functionality again.

Introduce a new reftable test library that hosts some shared code and
adapt tests to use it.

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>Makefile: stop listing test library objects twice</title>
<updated>2024-09-16T20:57:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-09-16T08:50:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=428672a3b16f65c01f0bb78d266b9fc168a94eb3'/>
<id>urn:sha1:428672a3b16f65c01f0bb78d266b9fc168a94eb3</id>
<content type='text'>
Whenever one adds another test library compilation unit one has to wire
it up twice in the Makefile: once to append it to `UNIT_TEST_OBJS`, and
once to append it to the `UNIT_TEST_PROGS` target. Ideally, we'd just
reuse the `UNIT_TEST_OBJS` variable in the target so that we can avoid
the duplication. But it also contains all the objects for our test
programs, each of which contains a `cmd_main()`, and thus we cannot link
them all into the target executable.

Refactor the code such that `UNIT_TEST_OBJS` does not contain the unit
test program objects anymore, which we can instead manually append to
the `OBJECTS` variable. Like this, the former variable now only contains
objects for test libraries and can thus be reused.

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 'gt/unit-test-oid-array'</title>
<updated>2024-09-12T18:47:23Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2024-09-12T18:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=04595eb4079e33496124a132832d28aba4a94dfc'/>
<id>urn:sha1:04595eb4079e33496124a132832d28aba4a94dfc</id>
<content type='text'>
Another unit-test.

* gt/unit-test-oid-array:
  t: port helper/test-oid-array.c to unit-tests/t-oid-array.c
</content>
</entry>
<entry>
<title>Makefile: rename clar-related variables to avoid confusion</title>
<updated>2024-09-10T17:27:27Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-09-10T06:23:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c3de556a841f132832f742d1c4d3a2618ee3b355'/>
<id>urn:sha1:c3de556a841f132832f742d1c4d3a2618ee3b355</id>
<content type='text'>
The Makefile variables related to the recently-introduced clar testing
framework have a `UNIT_TESTS_` prefix. This prefix is extremely similar
to the prefix used by our other unit tests that use our homegrown unit
testing framework, which is `UNIT_TEST_`. The consequence is that it is
easy to misread the names and confuse them with each other.

Rename the clar-related variables to instead have a `CLAR_TEST_` prefix
to address this.

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