<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/run-command.c, branch v2.34.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.34.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.34.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-11-04T19:07:47Z</updated>
<entry>
<title>Merge branch 'vd/pthread-setspecific-g11-fix'</title>
<updated>2021-11-04T19:07:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-04T19:07:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a73934c32094339ed41f4134ea8eb4df772f9e69'/>
<id>urn:sha1:a73934c32094339ed41f4134ea8eb4df772f9e69</id>
<content type='text'>
One CI task based on Fedora image noticed a not-quite-kosher
consturct recently, which has been corrected.

* vd/pthread-setspecific-g11-fix:
  async_die_is_recursing: work around GCC v11.x issue on Fedora
</content>
</entry>
<entry>
<title>async_die_is_recursing: work around GCC v11.x issue on Fedora</title>
<updated>2021-11-04T06:12:10Z</updated>
<author>
<name>Victoria Dye</name>
<email>vdye@github.com</email>
</author>
<published>2021-11-04T04:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4b540cf913b8f528fadb9357530a34ea0dc09737'/>
<id>urn:sha1:4b540cf913b8f528fadb9357530a34ea0dc09737</id>
<content type='text'>
This fix corrects an issue found in the `dockerized(pedantic, fedora)` CI
build, first appearing after the introduction of a new version of the Fedora
docker image version. This image includes a version of `glibc` with the
attribute `__attr_access_none` added to `pthread_setspecific` [1], the
implementation of which only exists for GCC 11.X - the version included in
the Fedora image. The attribute requires that the pointer provided in the
second argument of `pthread_getspecific` must, if not NULL, be a pointer to
a valid object. In the usage in `async_die_is_recursing`, `(void *)1` is not
valid, causing the error.

This fix imitates a workaround added in SELinux [2] by using the pointer to
the static `async_die_counter` itself as the second argument to
`pthread_setspecific`. This guaranteed non-NULL, valid pointer matches the
intent of the current usage while not triggering the build error.

[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=a1561c3bbe8
[2] https://lore.kernel.org/all/20211021140519.6593-1-cgzones@googlemail.com/

Co-authored-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Victoria Dye &lt;vdye@github.com&gt;
Acked-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jh/builtin-fsmonitor-part1'</title>
<updated>2021-10-13T22:15:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-13T22:15:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=af303ee39214a04ad3c01e5924f2e8c09b5c18cb'/>
<id>urn:sha1:af303ee39214a04ad3c01e5924f2e8c09b5c18cb</id>
<content type='text'>
Built-in fsmonitor (part 1).

* jh/builtin-fsmonitor-part1:
  t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
  run-command: create start_bg_command
  simple-ipc/ipc-win32: add Windows ACL to named pipe
  simple-ipc/ipc-win32: add trace2 debugging
  simple-ipc: move definition of ipc_active_state outside of ifdef
  simple-ipc: preparations for supporting binary messages.
  trace2: add trace2_child_ready() to report on background children
</content>
</entry>
<entry>
<title>hook.[ch]: move find_hook() from run-command.c to hook.c</title>
<updated>2021-09-27T16:44:54Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-09-26T19:03:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5e3aba33da26803e48b0099c9dabfd327f7f8b8b'/>
<id>urn:sha1:5e3aba33da26803e48b0099c9dabfd327f7f8b8b</id>
<content type='text'>
Move the find_hook() function from run-command.c to a new hook.c
library. This change establishes a stub library that's pretty
pointless right now, but will see much wider use with Emily Shaffer's
upcoming "configuration-based hooks" series.

Eventually all the hook related code will live in hook.[ch]. Let's
start that process by moving the simple find_hook() function over
as-is.

Signed-off-by: Emily Shaffer &lt;emilyshaffer@google.com&gt;
Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mr/bisect-in-c-4'</title>
<updated>2021-09-23T20:44:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-09-23T20:44:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0a4cb1f1f2f64e5f3791809284ba786a8094dfb4'/>
<id>urn:sha1:0a4cb1f1f2f64e5f3791809284ba786a8094dfb4</id>
<content type='text'>
Rewrite of "git bisect" in C continues.

* mr/bisect-in-c-4:
  bisect--helper: retire `--bisect-next-check` subcommand
  bisect--helper: reimplement `bisect_run` shell function in C
  bisect--helper: reimplement `bisect_visualize()` shell function in C
  run-command: make `exists_in_PATH()` non-static
  t6030-bisect-porcelain: add test for bisect visualize
  t6030-bisect-porcelain: add tests to control bisect run exit cases
</content>
</entry>
<entry>
<title>Merge branch 'js/run-command-close-packs'</title>
<updated>2021-09-20T22:20:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-09-20T22:20:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c042ad5ad58d4e43aadc806850e76fef73848d2c'/>
<id>urn:sha1:c042ad5ad58d4e43aadc806850e76fef73848d2c</id>
<content type='text'>
The run-command API has been updated so that the callers can easily
ask the file descriptors open for packfiles to be closed immediately
before spawning commands that may trigger auto-gc.

* js/run-command-close-packs:
  Close object store closer to spawning child processes
  run_auto_maintenance(): implicitly close the object store
  run-command: offer to close the object store before running
  run-command: prettify the `RUN_COMMAND_*` flags
  pull: release packs before fetching
  commit-graph: when closing the graph, also release the slab
</content>
</entry>
<entry>
<title>run-command: create start_bg_command</title>
<updated>2021-09-20T15:57:58Z</updated>
<author>
<name>Jeff Hostetler</name>
<email>jeffhost@microsoft.com</email>
</author>
<published>2021-09-20T15:36:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fdb1322651a41a4e754bfac23513c0fa32dc1db8'/>
<id>urn:sha1:fdb1322651a41a4e754bfac23513c0fa32dc1db8</id>
<content type='text'>
Create a variation of `run_command()` and `start_command()` to launch a command
into the background and optionally wait for it to become "ready" before returning.

Signed-off-by: Jeff Hostetler &lt;jeffhost@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>run-command: make `exists_in_PATH()` non-static</title>
<updated>2021-09-13T20:37:37Z</updated>
<author>
<name>Pranit Bauva</name>
<email>pranit.bauva@gmail.com</email>
</author>
<published>2021-09-13T17:39:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3f36e6f30c5ee8d337dffa65c487080b87b29030'/>
<id>urn:sha1:3f36e6f30c5ee8d337dffa65c487080b87b29030</id>
<content type='text'>
Remove the `static` keyword from `exists_in_PATH()` function
and declare the function in `run-command.h` file.
The function will be used in bisect_visualize() in a later
commit.

Mentored by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Mentored by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Tanushree Tumane &lt;tanushreetumane@gmail.com&gt;
Signed-off-by: Miriam Rubio &lt;mirucam@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/retire-advice-config'</title>
<updated>2021-09-10T18:46:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-09-10T18:46:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fd0d7036e0da248f354e91fb8be8771fb20adfac'/>
<id>urn:sha1:fd0d7036e0da248f354e91fb8be8771fb20adfac</id>
<content type='text'>
Code clean up to migrate callers from older advice_config[] based
API to newer advice_if_enabled() and advice_enabled() API.

* ab/retire-advice-config:
  advice: move advice.graftFileDeprecated squashing to commit.[ch]
  advice: remove use of global advice_add_embedded_repo
  advice: remove read uses of most global `advice_` variables
  advice: add enum variants for missing advice variables
</content>
</entry>
<entry>
<title>run_auto_maintenance(): implicitly close the object store</title>
<updated>2021-09-09T19:56:11Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-09-09T09:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5a22a334cb757753230f1d73da36130513016830'/>
<id>urn:sha1:5a22a334cb757753230f1d73da36130513016830</id>
<content type='text'>
Before spawning the auto maintenance, we need to make sure that we
release all open file handles to all the `.pack` files (and MIDX files
and commit-graph files and...) so that the maintenance process has the
freedom to delete those files.

So far, we did this manually every time before calling
`run_auto_maintenance()`. With the new `close_object_store` flag, we can
do that implicitly in that function, which is more robust because future
callers won't be able to forget to close the object store.

Note: this changes behavior slightly, as we previously _always_ closed
the object store, but now we only close the object store when actually
running the auto maintenance. In practice, this should not matter (if
anything, it might speed up operations where auto maintenance is
disabled).

Suggested-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
