Fix documentation regarding splitting of symlinks across multiple stow directories.
This commit is contained in:
parent
1f41616b12
commit
d5aa061abe
2 changed files with 10 additions and 12 deletions
|
@ -739,20 +739,18 @@ software separately, or if there is any other reason to want two or more
|
|||
stow directories, it can be done by creating a file named @file{.stow}
|
||||
in each stow directory. The presence of @file{/usr/local/foo/.stow}
|
||||
informs Stow that, though @file{foo} is not the current stow
|
||||
directory, and though it is a subdirectory of the target directory,
|
||||
directory, even if it is a subdirectory of the target directory,
|
||||
nevertheless it is @emph{a} stow directory and as such Stow
|
||||
doesn't ``own'' anything in it (@pxref{Installing Packages}). This will
|
||||
protect the contents of @file{foo} from a @samp{stow -D}, for instance.
|
||||
|
||||
XXX is this still true? XXX
|
||||
|
||||
When multiple stow directories share a target tree, the effectiveness
|
||||
of Stow is reduced. If a tree-folding symlink is encountered and
|
||||
needs to be split open during an installation, but the symlink points
|
||||
into the wrong stow directory, Stow will report a conflict rather
|
||||
than split open the tree (because it doesn't consider itself to own the
|
||||
symlink, and thus cannot remove it).
|
||||
@c There is a test for the following case in t/examples.t:
|
||||
|
||||
When multiple stow directories share a target tree, if a tree-folding
|
||||
symlink is encountered and needs to be split open during an
|
||||
installation, as long as the top-level stow directory into which the
|
||||
existing symlink points contains @file{.stow}, Stow knows how to split
|
||||
open the tree in the correct manner.
|
||||
|
||||
@c ===========================================================================
|
||||
@node Target Maintenance, Resource Files, Multiple Stow Directories, Top
|
||||
|
|
|
@ -416,7 +416,7 @@ sub stow_node {
|
|||
}
|
||||
debug(3, "--- Evaluate existing link: $target => $existing_source");
|
||||
|
||||
# Does it point to a node under our stow directory?
|
||||
# Does it point to a node under any stow directory?
|
||||
my ($existing_path, $existing_stow_path, $existing_package) =
|
||||
$self->find_stowed_path($target, $existing_source);
|
||||
if (not $existing_path) {
|
||||
|
@ -620,7 +620,7 @@ sub unstow_node_orig {
|
|||
error("Could not read link: $target");
|
||||
}
|
||||
|
||||
# Does it point to a node under our stow directory?
|
||||
# Does it point to a node under any stow directory?
|
||||
my ($existing_path, $existing_stow_path, $existing_package) =
|
||||
$self->find_stowed_path($target, $existing_source);
|
||||
if (not $existing_path) {
|
||||
|
@ -755,7 +755,7 @@ sub unstow_node {
|
|||
return; # XXX #
|
||||
}
|
||||
|
||||
# Does it point to a node under our stow directory?
|
||||
# Does it point to a node under any stow directory?
|
||||
my ($existing_path, $existing_stow_path, $existing_package) =
|
||||
$self->find_stowed_path($target, $existing_source);
|
||||
if (not $existing_path) {
|
||||
|
|
Loading…
Reference in a new issue