<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/run-command.c, branch v2.28.1</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.28.1</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.28.1'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2021-02-12T14:50:09Z</updated>
<entry>
<title>Sync with 2.27.1</title>
<updated>2021-02-12T14:50:09Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:50:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3f01e56686b2fd08d919306717764391409ac81e'/>
<id>urn:sha1:3f01e56686b2fd08d919306717764391409ac81e</id>
<content type='text'>
* maint-2.27:
  Git 2.27.1
  Git 2.26.3
  Git 2.25.5
  Git 2.24.4
  Git 2.23.4
  Git 2.22.5
  Git 2.21.4
  Git 2.20.5
  Git 2.19.6
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.26.3</title>
<updated>2021-02-12T14:50:04Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:50:04Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=2d1142a3e8455af1bdab2cb19dfaf428cdc03459'/>
<id>urn:sha1:2d1142a3e8455af1bdab2cb19dfaf428cdc03459</id>
<content type='text'>
* maint-2.26:
  Git 2.26.3
  Git 2.25.5
  Git 2.24.4
  Git 2.23.4
  Git 2.22.5
  Git 2.21.4
  Git 2.20.5
  Git 2.19.6
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.24.4</title>
<updated>2021-02-12T14:49:55Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:49:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=97d1dcb1efb2899a40b42da894f2ead0eb7af7ef'/>
<id>urn:sha1:97d1dcb1efb2899a40b42da894f2ead0eb7af7ef</id>
<content type='text'>
* maint-2.24:
  Git 2.24.4
  Git 2.23.4
  Git 2.22.5
  Git 2.21.4
  Git 2.20.5
  Git 2.19.6
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.21.4</title>
<updated>2021-02-12T14:49:41Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:49:41Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=bcf08f33d840b8a6bef347aea3ac2359874c888a'/>
<id>urn:sha1:bcf08f33d840b8a6bef347aea3ac2359874c888a</id>
<content type='text'>
* maint-2.21:
  Git 2.21.4
  Git 2.20.5
  Git 2.19.6
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.19.6</title>
<updated>2021-02-12T14:49:17Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:49:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=804963848e325ff6f4213e53aeda6ef831574e48'/>
<id>urn:sha1:804963848e325ff6f4213e53aeda6ef831574e48</id>
<content type='text'>
* maint-2.19:
  Git 2.19.6
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.18.5</title>
<updated>2021-02-12T14:47:47Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:47:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=fb049fd85b298d386dca2e0bcf74a1f52a7b2038'/>
<id>urn:sha1:fb049fd85b298d386dca2e0bcf74a1f52a7b2038</id>
<content type='text'>
* maint-2.18:
  Git 2.18.5
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>Sync with 2.17.6</title>
<updated>2021-02-12T14:47:42Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:47:42Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=9b77cec89b64f0910df911952ccee0cdf0046f48'/>
<id>urn:sha1:9b77cec89b64f0910df911952ccee0cdf0046f48</id>
<content type='text'>
* maint-2.17:
  Git 2.17.6
  unpack_trees(): start with a fresh lstat cache
  run-command: invalidate lstat cache after a command finished
  checkout: fix bug that makes checkout follow symlinks in leading path
</content>
</entry>
<entry>
<title>run-command: invalidate lstat cache after a command finished</title>
<updated>2021-02-12T14:47:02Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-02T21:09:52Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=0d58fef58a6f382ba1d35f47a01cb55d8976335f'/>
<id>urn:sha1:0d58fef58a6f382ba1d35f47a01cb55d8976335f</id>
<content type='text'>
In the previous commit, we intercepted calls to `rmdir()` to invalidate
the lstat cache in the successful case, so that the lstat cache could
not have the idea that a directory exists where there is none.

The same situation can arise, of course, when a separate process is
spawned (most notably, this is the case in `submodule_move_head()`).
Obviously, we cannot know whether a directory was removed in that
process, therefore we must invalidate the lstat cache afterwards.

Note: in contrast to `lstat_cache_aware_rmdir()`, we invalidate the
lstat cache even in case of an error: the process might have removed a
directory and still have failed afterwards.

Co-authored-by: Matheus Tavares &lt;matheus.bernardino@usp.br&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ta/wait-on-aliased-commands-upon-signal' into master</title>
<updated>2020-07-15T23:29:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-07-15T23:29:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=05920f041a57ac9ee86a8615cfca414450e65365'/>
<id>urn:sha1:05920f041a57ac9ee86a8615cfca414450e65365</id>
<content type='text'>
When an aliased command, whose output is piped to a pager by git,
gets killed by a signal, the pager got into a funny state, which
has been corrected (again).

* ta/wait-on-aliased-commands-upon-signal:
  Wait for child on signal death for aliases to externals
  Wait for child on signal death for aliases to builtins
</content>
</entry>
<entry>
<title>Wait for child on signal death for aliases to builtins</title>
<updated>2020-07-07T20:14:05Z</updated>
<author>
<name>Trygve Aaberge</name>
<email>trygveaa@gmail.com</email>
</author>
<published>2020-07-07T12:17:14Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e662df7e830a9d93ca36b74a7b5e670e139b0da1'/>
<id>urn:sha1:e662df7e830a9d93ca36b74a7b5e670e139b0da1</id>
<content type='text'>
When you hit ^C all the processes in the tree receives it. When a git
command uses a pager, git ignores this and waits until the pager quits.
However, when using an alias there is an additional process in the tree
which didn't ignore the signal. That caused it to exit which in turn
caused the pager to exit. This fixes that for aliases to builtins.

This was originally fixed in 46df6906 (execv_dashed_external: wait
for child on signal death, 2017-01-06), but was broken by ee4512ed
(trace2: create new combined trace facility, 2019-02-22) and then
b9140840 (git: avoid calling aliased builtins via their dashed form,
2019-07-29).

Signed-off-by: Trygve Aaberge &lt;trygveaa@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
