cask/artifact/abstract_uninstall: fix trash_paths
This is currently behaving incorrectly when calling `trash.swift` fails due to lack of permissions. In this instance, `trash.swift` prints error: permissionDenied to stdout, and this is incorrectly parsed as having successfully trashed a file named `error` and another named ` permissionDenied`. Let's fix this by ensuring that: - any paths in `trashed` are in the `paths` that we wanted to trash in the first place - define `untrashable` by removing the `trashed` paths from `paths`
This commit is contained in:
parent
d19dca6228
commit
f816a39d1f
@ -464,9 +464,9 @@ module Cask
|
|||||||
args: paths,
|
args: paths,
|
||||||
print_stderr: Homebrew::EnvConfig.developer?
|
print_stderr: Homebrew::EnvConfig.developer?
|
||||||
|
|
||||||
trashed, _, untrashable = stdout.partition("\n")
|
trashed, = stdout.partition("\n")
|
||||||
trashed = trashed.split(":")
|
trashed = trashed.split(":") & paths
|
||||||
untrashable = untrashable.split(":")
|
untrashable = paths - trashed
|
||||||
|
|
||||||
trashed_with_permissions, untrashable = untrashable.partition do |path|
|
trashed_with_permissions, untrashable = untrashable.partition do |path|
|
||||||
Utils.gain_permissions(path, ["-R"], SystemCommand) do
|
Utils.gain_permissions(path, ["-R"], SystemCommand) do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user