No description
Find a file
LE Manh Cuong 8544b2f0f5 Allow directory with trailing and leading spaces
- The `sanitize_path_options` functions remove all trailing
 and leading spaces. So any valid directory like ` 123`,
 `123 ` can not be used

 - Also if there are two directories ` 123` and `123`, and if
 user pick the ` 123` as option to `-d` or `-t`, then stow pick
 directory `123` as the argument instead of ` 123` as user want.

    ```
    STOW_DIR=. stow -n -v3 -t \ 123 456
    stow dir is /tmp/test
    stow dir path relative to target 123 is ..
    cwd now 123
    cwd restored to /tmp/test
    cwd now 123
    Planning stow of package 456...
    Stowing contents of ../456 (cwd=/tmp/test/123)
    Planning stow of package 456... done
    cwd restored to /tmp/test
    WARNING: in simulation mode so not modifying filesystem.
    ```
 - This commit remove the check in `sanitize_path_options` function,
 and now stow can work with those directories. There have been a check
 for valid directory, so we are safe.
2015-11-13 20:17:58 +07:00
automake remove automake files 2015-02-07 19:30:26 +00:00
bin Allow directory with trailing and leading spaces 2015-11-13 20:17:58 +07:00
doc HOWTO-RELEASE: remove body indent 2015-11-09 11:05:20 +00:00
lib add Stow/Util.pm.in with @VERSION@ substitution 2015-11-09 12:36:51 +00:00
t Allow directory with trailing and leading spaces 2015-11-13 20:17:58 +07:00
.gitignore add Stow/Util.pm.in with @VERSION@ substitution 2015-11-09 12:36:51 +00:00
.travis.yml set up Travis CI 2015-11-13 12:05:42 +00:00
aclocal.m4 update aclocal 2014-09-22 00:14:56 +01:00
AUTHORS Add a missing space. 2011-12-03 17:09:48 +00:00
Build.PL add IO::Scalar to build_requires 2015-11-13 12:05:42 +00:00
configure.ac Bump version to 2.2.2 2015-11-09 12:36:51 +00:00
COPYING Grafted root commit from savannah git master: 2011-11-16 14:04:03 +00:00
default-ignore-list default-ignore-list: ignore top-level README.*, LICENSE.*, and COPYING 2013-04-12 17:42:14 +01:00
INSTALL Significantly improve the handling of --with-pmdir. 2011-12-07 20:48:50 +00:00
Makefile.am More fixes to "make distcheck" 2015-11-09 12:38:39 +00:00
MANIFEST add Stow/Util.pm.in with @VERSION@ substitution 2015-11-09 12:36:51 +00:00
MANIFEST.SKIP Ignore tmp-testing-trees anywhere. 2012-02-18 17:14:50 +00:00
META.json add IO::Scalar to build_requires 2015-11-13 12:05:42 +00:00
META.yml add IO::Scalar to build_requires 2015-11-13 12:05:42 +00:00
NEWS NEWS: Explain why 2.2.1 was not released 2015-11-09 12:36:51 +00:00
README Revamp README. 2012-03-01 11:40:34 +00:00
THANKS Correctly handle empty STOW_DIR (#5, #6) 2015-11-11 11:28:47 +00:00
TODO add TODO for install-hooks 2013-04-24 08:46:52 +01:00

README for GNU Stow
===================

This is GNU Stow, a symlink farm manager program which takes distinct
packages of software and/or data located in separate directories on
the filesystem, and makes them appear to be installed in the same
place.  For example, /usr/local/bin could contain symlinks to files
within /usr/local/stow/emacs/bin, /usr/local/stow/perl/bin etc., and
likewise recursively for any other subdirectories such as .../share,
.../man, and so on.

This is particularly useful for keeping track of system-wide and
per-user installations of software built from source, but can also
facilitate a more controlled approach to management of configuration
files in the user's home directory, especially when coupled with
version control systems.

Stow is implemented as a combination of a Perl script providing a CLI
interface, and a backend Perl module which does most of the work.

You can get the latest information about Stow from the home page:

    http://www.gnu.org/software/stow/

License
-------

Stow is free software, licensed under the GNU General Public License,
which can be found in the file COPYING.

Installation
------------

See INSTALL for installation instructions.

Feedback
--------

Please do send comments, questions, and constructive criticism.  The
mailing lists and any other communication channels are detailed on the
above home page.

Brief history
-------------

Stow was inspired by Carnegie Mellon's "Depot" program, but is
substantially simpler.  Whereas Depot requires database files to keep
things in sync, Stow stores no extra state between runs, so there's no
danger (as there is in Depot) of mangling directories when file
hierarchies don't match the database.  Also unlike Depot, Stow will
never delete any files, directories, or links that appear in a Stow
directory (e.g., /usr/local/stow/emacs), so it's always possible to
rebuild the target tree (e.g., /usr/local).