<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/run-command.c, branch v2.30.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.30.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.30.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-02-12T14:51:12Z</updated>
<entry>
<title>Sync with 2.29.3</title>
<updated>2021-02-12T14:51:12Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e4e68081bb811672b069eb1d6c97e57dd0764d51'/>
<id>urn:sha1:e4e68081bb811672b069eb1d6c97e57dd0764d51</id>
<content type='text'>
* maint-2.29:
  Git 2.29.3
  Git 2.28.1
  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.28.1</title>
<updated>2021-02-12T14:50:14Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2021-02-12T14:50:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d7bdabe52fbbde2ec1cbabdc8bdc737a8ead26aa'/>
<id>urn:sha1:d7bdabe52fbbde2ec1cbabdc8bdc737a8ead26aa</id>
<content type='text'>
* maint-2.28:
  Git 2.28.1
  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.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://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://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://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://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://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://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://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://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>
</feed>
