为什么 GNU Stow 不忽略主目录中的单个文件?

Bar*_*art 3 linux dotfiles

我已经在我的 dotfile 文件夹中添加了一个 README,因为我正在管理每个包,stow所以我想忽略它。从文档中我读到,默认情况下 stow 使用包含 README 文件的预设列表。现在,这似乎不起作用。我也试过添加一个.stow-global-ignore但同样的错误。即使强迫stow -nv --ignore='README.md' *也无济于事。

$ tree
.
??? i3
??? i3status
??? nvim
??? README.md
??? rofi
??? stow
??? urxvt
??? zsh

$ stow -nv *
LINK: .config/i3/config => ../../.dotfiles/i3/.config/i3/config
LINK: .config/i3status/config => ../../.dotfiles/i3status/.config/i3status/config
LINK: .config/nvim/init.vim => ../../.dotfiles/nvim/.config/nvim/init.vim
stow: ERROR: The stow directory .dotfiles does not contain package README.md
Run Code Online (Sandbox Code Playgroud)

我的猜测是忽略列表仅适用于 stow 目录内的包(因此是目录)?有什么解决方法吗?

sie*_*pha 5

我刚刚遇到了同样的问题,我发现在通配符中添加尾部斜杠*/意味着 glob 只会查找目录,而忽略 stow 的“根”(在我的情况下为 dotfiles 文件夹)中的所有文件。这会忽略我的文件,例如readme.mdlicense.txt这正是我想要的。

我的 stow 命令变为(从我的 dotfiles repo 目录中运行)

stow -t ~ */
Run Code Online (Sandbox Code Playgroud)

我不认为 stow 尝试将文件存放在根目录中是无效的,我认为它们需要始终嵌套在一个文件夹中,因此这可能应该是默认设置,但我在那里有点含糊。如果曾经有从 stow 根目录存放文件的用例,则此解决方案将不起作用。

感谢这篇让我思考的帖子