mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-22 10:11:13 -03:00
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
11 lines
304 B
Fish
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
|