<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git, branch v2.38.0-rc2</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=v2.38.0-rc2</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=v2.38.0-rc2'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2022-09-27T18:25:52Z</updated>
<entry>
<title>Git 2.38-rc2</title>
<updated>2022-09-27T18:25:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-27T18:25:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=bcd6bc478adc4951d57ec597c44b12ee74bc88fb'/>
<id>urn:sha1:bcd6bc478adc4951d57ec597c44b12ee74bc88fb</id>
<content type='text'>
We have small updates since -rc1 but none of them is about a new
thing and there is no updates to the release notes.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ds/bitmap-lookup-remove-tracing'</title>
<updated>2022-09-27T04:46:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-27T04:46:51Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=2a7d63a2453e2c30353342a2c9385fa22a846987'/>
<id>urn:sha1:2a7d63a2453e2c30353342a2c9385fa22a846987</id>
<content type='text'>
Perf-fix.

* ds/bitmap-lookup-remove-tracing:
  pack-bitmap: remove trace2 region from hot path
</content>
</entry>
<entry>
<title>pack-bitmap: remove trace2 region from hot path</title>
<updated>2022-09-26T19:09:18Z</updated>
<author>
<name>Derrick Stolee</name>
<email>derrickstolee@github.com</email>
</author>
<published>2022-09-26T13:17:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=89a1ab8fb5766d0474ff72f176804508b0558f8a'/>
<id>urn:sha1:89a1ab8fb5766d0474ff72f176804508b0558f8a</id>
<content type='text'>
The trace2 region around the call to lazy_bitmap_for_commit() in
bitmap_for_commit() was added in 28cd730680d (pack-bitmap: prepare to
read lookup table extension, 2022-08-14). While adding trace2 regions is
typically helpful for tracking performance, this method is called
possibly thousands of times as a commit walk explores commit history
looking for a matching bitmap. When trace2 output is enabled, this
region is emitted many times and performance is throttled by that
output.

For now, remove these regions entirely.

This is a critical path, and it would be valuable to measure that the
time spent in bitmap_for_commit() does not increase when using the
commit lookup table. The best way to do that would be to use a mechanism
that sums the time spent in a region and reports a single value at the
end of the process. This technique was introduced but not merged by [1]
so maybe this example presents some justification to revisit that
approach.

[1] https://lore.kernel.org/git/pull.1099.v2.git.1640720202.gitgitgadget@gmail.com/

To help with the 'git blame' output in this region, add a comment that
warns against adding a trace2 region. Delete a test from t5310 that used
that trace output to check that this lookup optimization was activated.
To create this kind of test again in the future, the stopwatch traces
mentioned earlier could be used as a signal that we activated this code
path.

Helpedy-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Derrick Stolee &lt;derrickstolee@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ac/bitmap-lookup-table'</title>
<updated>2022-09-23T18:07:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-23T18:07:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4fd6c5e44459e6444c2cd93383660134c95aabd1'/>
<id>urn:sha1:4fd6c5e44459e6444c2cd93383660134c95aabd1</id>
<content type='text'>
Grammofix.

* ac/bitmap-lookup-table:
  pack-bitmap: improve grammar of "xor chain" error message
</content>
</entry>
<entry>
<title>Merge branch 'ma/scalar-to-main-fix'</title>
<updated>2022-09-23T18:07:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-23T18:07:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=0d14f80f9450a4ae37b0122d03cfc921a4ee9083'/>
<id>urn:sha1:0d14f80f9450a4ae37b0122d03cfc921a4ee9083</id>
<content type='text'>
Fix manpage generation.

* ma/scalar-to-main-fix:
  cmd-list.perl: fix identifying man sections
</content>
</entry>
<entry>
<title>cmd-list.perl: fix identifying man sections</title>
<updated>2022-09-23T17:01:07Z</updated>
<author>
<name>Martin Ågren</name>
<email>martin.agren@gmail.com</email>
</author>
<published>2022-09-23T08:07:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=32c6fff4b871e510b7d782a4f888609da0089c15'/>
<id>urn:sha1:32c6fff4b871e510b7d782a4f888609da0089c15</id>
<content type='text'>
We attribute each documentation text file to a man section by finding a
line in the file that looks like "gitfoo(&lt;digit&gt;)". Commit cc75e556a9
("scalar: add to 'git help -a' command list", 2022-09-02) updated this
logic to look not only for "gitfoo" but also "scalarfoo". In doing so,
it forgot to account for the fact that after the updated regex has found
a match, the man section is no longer to be found in `$1` but now lives
in `$2`.

This makes our git(1) manpage look as follows:

  Main porcelain commands
       git-add(git)
           Add file contents to the index.

  [...]

       gitk(git)
           The Git repository browser.

       scalar(scalar)
           A tool for managing large Git repositories.

Restore the man sections by not capturing the (git|scalar) part of the
match into `$1`.

As noted by Ævar [1], we could even match any "foo" rather than just
"gitfoo" and "scalarfoo", but that's a larger change. For now, just fix
the regression in cc75e556a9.

[1] https://lore.kernel.org/git/220923.86wn9u4joo.gmgdl@evledraar.gmail.com/#t

Helped-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Martin Ågren &lt;martin.agren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pack-bitmap: improve grammar of "xor chain" error message</title>
<updated>2022-09-23T15:54:05Z</updated>
<author>
<name>Alex Henrie</name>
<email>alexhenrie24@gmail.com</email>
</author>
<published>2022-09-22T02:51:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=711340c797ce501c732eb2b6accee0608c62d4e9'/>
<id>urn:sha1:711340c797ce501c732eb2b6accee0608c62d4e9</id>
<content type='text'>
Signed-off-by: Alex Henrie &lt;alexhenrie24@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/list-objects-filter-cleanup'</title>
<updated>2022-09-22T22:30:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-22T22:30:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4b79ee4b0cd1130ba8907029cdc5f6a1632aca26'/>
<id>urn:sha1:4b79ee4b0cd1130ba8907029cdc5f6a1632aca26</id>
<content type='text'>
Fix uninitialized memory access in a recent fix-up that is already
in -rc1.

* jk/list-objects-filter-cleanup:
  list-objects-filter: initialize sub-filter structs
</content>
</entry>
<entry>
<title>list-objects-filter: initialize sub-filter structs</title>
<updated>2022-09-22T19:43:04Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2022-09-22T09:35:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4eaed7c2f2aed1ef510ff97e7e91fa0cbcbef65d'/>
<id>urn:sha1:4eaed7c2f2aed1ef510ff97e7e91fa0cbcbef65d</id>
<content type='text'>
Since commit c54980ab83 (list-objects-filter: convert filter_spec to a
strbuf, 2022-09-11), building with SANITIZE=undefined triggers an error
in t5616.

The problem is that we end up with a strbuf that has been
zero-initialized instead of via STRBUF_INIT. Feeding that strbuf to
strbuf_addbuf() in list_objects_filter_copy() means we will call memcpy
like:

   memcpy(some_actual_buffer, NULL, 0);

This works on most systems because we're copying zero bytes, but it is
technically undefined behavior to ever pass NULL to memcpy.

Even though c54980ab83 is where the bug manifests, that is only because
we switched away from a string_list, which is OK with being
zero-initialized (though it may cause other problems by not duplicating
the strings, it happened to be OK in this instance).

The actual bug is caused by the commit before that, 2a01bdedf8
(list-objects-filter: add and use initializers, 2022-09-11). There we
consistently initialize the top-level filter structs, but we forgot the
dynamically allocated ones we stick in filter_options-&gt;sub when creating
combined filters.

Note that we need to fix two spots here: where we parse a "combine:"
filter, but also where we transform from a single-filter into a combined
one after seeing multiple "--filter" options. In the second spot, we'll
do some minor refactoring to avoid repeating our very-long array index.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Git 2.38-rc1</title>
<updated>2022-09-21T22:27:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-21T22:26:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=1b3d6e17fe83eb6f79ffbac2f2c61bbf1eaef5f8'/>
<id>urn:sha1:1b3d6e17fe83eb6f79ffbac2f2c61bbf1eaef5f8</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
