Fix yay -Sc wiping ~/.cache/yay on 3rd question. #2175
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If you answer yes to
then we run
cleanAUR()
, intending to remove subdirectories of~/.cache/yay
that do not share a name with installed packages not found in the sync repositories.Where this was going wrong was
cleanAUR
's invocation was getting an empty map fromdbExecutor.InstalledRemotePackages()
—becauseInstalledRemotePackages
only recomputed its result ifinstalledRemotePkgMap
wasnil
whereasNewExecutor
initialized it to an empty map. The symptom was it emptied my~/.cache/yay
.We do want a non-nil, empty
installedRemotePkgMap
to block recomputing (that is, to indicate the user really has no remote packages), so nowNewExecutor
initializes it to nil, andgetPackageNamesBySource
is responsible for making sure it's non-nil before writing to it.Fixes #2152, which seems to have been introduced in 4626a04.