aspiers/stow

Allow auto-creating missing parent directories when using `--target`

Open

#124 aberto em 20 de jan. de 2025

Ver no GitHub
 (5 comments) (0 reactions) (0 assignees)Perl (51 forks)batch import
UXeasyenhancementhelp wanted

Métricas do repositório

Stars
 (1.013 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Currently pointing --target to a directory that doesn't yet exist results in the error:

stow: --target value '<path>' is not a valid directory

I understand why this is happening, but it makes using stow to manage certain use-cases (like installing into ~/.config on a fresh system) require an extra mkdir step first.

It would be really nice if running stow with a --target directory would automatically mkdir -p that target if it does not exist. Or if it can't be made the default, then I'd at least like a CLI option to enable this behavior.


As an example, say that we have the following folder structure:

.
└── stow-root
    └── pkg1
        └── some-file

I would like to be able to run just stow pkg1 --dir stow-root --target stow-target and generate the following tree:

.
├── stow-root
│   └── pkg1
│       └── some-file
└── stow-target
    └── some-file -> ../stow-root/pkg1/some-file

Note that the target directory ./stow-target was created when it previously did not exist.

Guia do colaborador