1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-21 22:32:41 +01:00

only update cache file if something changed

Summary:
See Q77. When installing in a read-only location, updating the file is both redundant (nothing changed) and fails.

Make sure to only save the updated file if anything changed.

Test Plan: Run `arc lint` somewhere, make `.phutil_module_cache` and `src/` read-only, run `arc lint` again - it should avoid crashing.

Reviewers: fgaz, O1 Blessed Committers, valerio.bozzolan

Reviewed By: fgaz, O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25446
This commit is contained in:
Aviv Eyal 2023-10-12 19:20:37 +03:00
parent ba42b63704
commit 98d16d27cf

View file

@ -469,10 +469,12 @@ EOPHP;
$this->fileSymbolMap = $symbol_map; $this->fileSymbolMap = $symbol_map;
// We're done building the cache, so write it out immediately. Note that if ($futures) {
// we've only retained entries for files we found, so this implicitly cleans // We're done building/updating the cache, so write it out immediately.
// out old cache entries. // Note that we've only retained entries for files we found, so this
$this->writeSymbolCache($symbol_map, $source_map); // implicitly cleans out old cache entries.
$this->writeSymbolCache($symbol_map, $source_map);
}
// Our map is up to date, so either show it on stdout or write it to disk. // Our map is up to date, so either show it on stdout or write it to disk.
$this->librarySymbolMap = $this->buildLibraryMap($symbol_map); $this->librarySymbolMap = $this->buildLibraryMap($symbol_map);