Files
fish-shell/share/functions/__fish_cache_put.fish
Johannes Altmanninger 66115490d8 Use the cache directory owner for cache entries
Commit f086bc9564 (Maintain ownership when rewriting universal variables
file, 2015-09-26) fixed an issue where "sudo -E fish" would create root-owned
~/.config/fish/fish_variables that break the users's shell.

A simlar issue exists for files in ~/.cache/fish; fix that.

Note that ~/.cache/fish is currently created on first run when we generate
completions from manpages.

See the issue described in #11292
2025-03-21 10:41:39 +01:00

11 lines
304 B
Fish

function __fish_cache_put
set -l cache_file $argv[1]
touch $cache_file
set -l dir (path dirname $cache_file)
chown --reference=$dir $cache_file 2>/dev/null ||
chown (
stat --format '%u:%g' $dir 2>/dev/null ||
stat -f '%u:%g' $dir
) $cache_file
end