The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Sun Apr 7 18:55:18 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #108 from aspiers/release-v2.4.0

Sun Apr 7 18:54:44 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #97 from ilyagr/patch-1

Sun Apr 7 18:38:12 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Rebuild META.*

      M META.json
      M META.yml

Sun Apr 7 18:34:35 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: THANKS is no longer being updated

      M doc/HOWTO-RELEASE

Sun Apr 7 18:32:51 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Update NEWS for v2.4.0

      M NEWS

Sun Apr 7 18:24:49 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.4.0

      M META.json
      M META.yml
      M NEWS
      M configure.ac

Sun Apr 7 18:22:56 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Add details on how to view coverage locally Unfortunately for now,
    Coveralls reports don't include source due to #84, but this is a
    good workaround.


      M CONTRIBUTING.md
      M Makefile.am

Sun Apr 7 18:00:03 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow: remove misleading comment about current dir The current
    directory is changed by within_target_do() which is called by
    `plan_stow()`, `plan_unstow()`, and `process_tasks()`.  It is not 
    changed when constructing a new `Stow` object, so remove this
    outdated and misleading comment.

    Fixes #102.


      M bin/stow.in

Sun Apr 7 17:56:54 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #107 from aspiers/improve-dotfiles-fix

Sun Apr 7 17:44:44 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow.t: move final set of tests into a subtest

      M t/unstow.t

Sun Apr 7 17:24:13 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow.t: remove superfluous spaces

      M t/unstow.t

Sun Apr 7 17:19:37 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix unstowing with `--compat --dotfiles` Unstowing with `--dotfiles`
    didn't work with `--compat`, because when traversing the target
    tree rather than the package tree, there was no mechanism for
    mapping a `.foo` file or directory back to its original
    `dot-foo` and determine whether it should be unstowed.

    So add a reverse `unadjust_dotfile()` mapping mechanism to support 
    this.


      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in
      M t/dotfiles.t

Sun Apr 7 15:57:03 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/dotfiles.t: improve language in test names and assertion messages We
    use the term "directory" (or "dir" for short) rather than
    "folder". Also explicitly say whether a test is stowing or
    unstowing, and fix the odd typo.


      M t/dotfiles.t

Tue Apr 2 00:06:38 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_contents: fix bugs and corner cases with type mismatch conflicts 
    If the target directory as a file named X and a package has a 
    directory named X, or vice-versa, then it is impossible for Stow 
    to stow that entry X from the package, even if --adopt is
    supplied.

    However we were previously only handling the former case, and not
    the latter, and the test for the former was actually broken.  So
    fix stow_contents() to handle both cases correctly, fix the broken
    test, and add a new test for the latter case.


      M lib/Stow.pm.in
      M t/stow.t

Sun Apr 7 15:42:06 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow.t: create a bunch of unowned files to make tests more robust 
    This should make it harder for Stow to do the right thing.


      M t/unstow.t

Mon Apr 1 22:50:58 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * dotfiles: switch {un,}stow_{contents,node}() recursion parameters Stow
    walks the package and target tree hierarchies by using mutually 
    recursive pairs of functions:

    - `stow_contents()` and `stow_node()`
    - `unstow_contents()` and `unstow_node()`

    As Stow runs its planning from the target directory (`plan_*()`
    both call `within_target_do()`), previously the parameters for
    these included:

    - `$target_subpath` (or `$target_subdir` in the `*_node()`
    functions):
     the relative path from the target top-level directory to the
    target
     subdirectory (initially `.` at the beginning of recursion).  For
     example, this could be `dir1/subdir1/file1`.

    - `$source`: the relative path from the target _subdirectory_
    (N.B. _not_
     top-level directory) to the package subdirectory.  For example,
    if
     the relative path to the Stow directory is `../stow`, this could
    be
     `../../../stow/pkg1/dir1/subdir1/file1`.  This is used when
    stowing
     to construct a new link, or when unstowing to detect whether the
     link can be unstowed.

    Each time it descends into a further subdirectory of the target
    and package, it appends the new path segment onto both of these,
    and also prefixes `$source` with another `..`.  When the
    `--dotfiles` parameter is enabled, it adjusts `$target_subdir`,
    performing the `dot-foo` =>
    `.foo` adjustment on all segments of the path in one go.  In this 
    case, `$target_subpath` could be something like
    `.dir1/subdir1/file1`, and the corresponding `$source` could be
    something like
    `../../../stow/pkg1/dot-dir1/subdir1/file1`.

    However this doesn't leave an easy way to obtain the relative path 
    from the target _top-level_ directory to the package subdirectory
    (i.e. `../stow/pkg1/dot-dir1/subdir1/file1`), which is needed for 
    checking its existence and if necessary iterating over its
    contents.

    The current implementation solves this by including an extra
    `$level` parameter which tracks the recursion depth, and uses that
    to strip the right number of leading path segments off the front
    of `$source`.
    (In the above example, it would remove `../..`.)

    This implementation isn't the most elegant because:

    - It involves adding things to `$source` and then removing them
    again.

    - It performs the `dot-` => `.` adjustment on every path segment
     at each level, which is overkill, since when recursing down a
    level,
     only adjustment on the final subdirectory is required since the
    higher
     segments have already had any required adjustment.

      This in turn requires `adjust_dotfile` to be more complex than
    it
     needs to be.

      It also prevents a potential future where we might want Stow to
     optionally start iterating from within a subdirectory of the
    whole
     package install image / target tree, avoiding adjustment at
    higher
     levels and only doing it at the levels below the starting point.

    - It requires passing an extra `$level` parameter which can be
     automatically calculated simply by counting the number of slashes
     in `$target_subpath`.

    So change the `$source` recursion parameter to instead track the 
    relative path from the top-level package directory to the package 
    subdirectory or file being considered for (un)stowing, and rename
    it to avoid the ambiguity caused by the word "source".

    Also automatically calculate the depth simply by counting the
    number of slashes, and reconstruct `$source` when needed by
    combining the relative path to the Stow directory with the package
    name and
    `$target_subpath`.

    Closes #33.


      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in
      M t/dotfiles.t

Sun Apr 7 13:08:56 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_link_node(): don't register conflicts when unstowing unowned
    links

      M lib/Stow.pm.in
      M t/unstow.t

Tue Apr 2 00:36:51 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * merge unstow_orig.t into unstow.t and fix unstowing logic There was a
    ton of duplication which is not maintainable, so refactor 
    everything into a single test which still covers the differences.

    This in turn revealed some issues in the unstowing logic:

    - We shouldn't conflict if we find a file which isn't a link or a
     directory; we can just skip over it.

    - Unstowing with `--dotfiles` was using the wrong variable to
    obtain
     the package path, and as a result having to perform an
    unnecessary
     call to `adjust_dotfile()`.

    So fix those at the same time.


      M .gitignore
      M MANIFEST
      M MANIFEST.SKIP
      M Makefile.am
      M lib/Stow.pm.in
      M t/dotfiles.t
      M t/testutil.pm
      M t/unstow.t
      D t/unstow_orig.t

Sun Apr 7 14:09:15 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * allow playground/ directory for testing stuff

      M .gitignore
      M CONTRIBUTING.md
      M MANIFEST.SKIP

Sun Apr 7 14:08:59 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * tidy up MANIFEST.SKIP

      M MANIFEST.SKIP

Sun Apr 7 13:08:27 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * read_a_link(): clarify debug message when it's a real link

      M lib/Stow.pm.in

Sun Apr 7 12:51:21 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix Dockerfile by updating from jessie to bookworm

      M docker/Dockerfile

Sat Apr 6 15:37:36 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #106 from aspiers/dev

Sat Apr 6 15:09:53 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Update manifest files to keep ./Build distcheck happy

      M MANIFEST
      M MANIFEST.SKIP

Sat Apr 6 14:59:52 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Revert "testutil: Add sanity check for cwd" This reverts commit
    5d4e68291e24558a51376cf218cca9a1142dfff1.

    It turns out that this broke `make distcheck`.


      M t/testutil.pm

Sat Apr 6 14:51:53 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Revert "Remove unnecessary AM_MAKEINFOFLAGS tweak" This reverts commit
    1a20a3f7eec823820b5cd01d566244e4fa968b73.

    It turns out that `texi2dvi` _does_ require `-I $(srcdir)` for
    `@verbatiminclude default-ignore-list` to work after all.  It's
    needed not for a normal docs build, but when `make distcheck` is
    run, presumably because `distcheck` runs from a different
    directory.


      M Makefile.am
      M configure.ac

Sat Apr 6 14:39:16 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Makefile.am: include DEFAULT_IGNORE_LIST in doc_deps

      M Makefile.am

Sat Apr 6 13:33:53 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * iterate over directories in sorted order This makes behaviour more
    deterministic, and makes debugging easier.


      M lib/Stow.pm.in

Sat Apr 6 11:59:23 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow.t: convert to use subtests

      M t/unstow.t

Sat Apr 6 11:58:56 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow_orig.t: use like() for regexp matching tests This is better
    because it outputs the mismatching value when the matching check
    fails.


      M t/unstow_orig.t

Sat Apr 6 11:44:36 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow_orig.t: use is() for equality tests This is better because it
    outputs the mismatching values when the equality check fails.


      M t/unstow_orig.t

Sat Apr 6 11:12:15 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * tests: use stderr_like() instead of home-grown STDERR capturing The
    STDERR capturing in testutil just reinvents Test::Output which we
    already use in chkstow.t, so it's pointless to reinvent that
    wheel.


      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Thu Apr 4 00:36:37 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * testutil: rename parameter names to be less confusing
    $target was the source of the link, and $source was the target
    (destination) of the link.  Obviously this was hopelessly 
    confusing, so rename to avoid this.


      M t/testutil.pm

Fri Apr 5 22:24:00 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: clarify the pros and cons and history of --compat

      M doc/stow.texi

Fri Apr 5 01:57:29 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #105 from aspiers/github-workflow

Fri Apr 5 00:51:27 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Port Travis CI workflow to a GitHub CI workflow Travis is no longer
    free, so move to GitHub.  (In the future ideally we should reduce
    dependencies on proprietary platforms.)


      A .coveralls.yml
      A .github/workflows/test.yml
      M MANIFEST.SKIP

Mon Apr 1 23:25:46 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/stow.t: fix typos, whitespace, and ordering of lines

      M t/stow.t

Mon Apr 1 23:31:36 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * testutil: use croak() instead of die() for more useful errors

      M t/testutil.pm

Mon Apr 1 22:56:32 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/stow: use like() instead of ok(... =~ /.../)

      M t/stow.t

Mon Apr 1 23:37:06 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * rename $path => $target_path in node helpers is_a_node(), is_a_dir(),
    is_a_link() all operate on paths within the target directory, so
    make this explicit by avoiding the vague variable name "$path".


      M lib/Stow.pm.in

Mon Apr 1 22:32:24 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * fold_tree: rename $target parameter to $target_subdir
    $target is vague and could refer to the top-level target
    directory, so rename to clarify.


      M lib/Stow.pm.in

Mon Apr 1 22:30:55 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * fold_tree: rename $source parameter to $pkg_subpath
    $source is vague and confusing as per the manual.


      M lib/Stow.pm.in

Mon Apr 1 22:29:03 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node / unstow_existing_node: rename foldable return value
    $parent is a bit vague so rename to $parent_in_pkg.


      M lib/Stow.pm.in

Mon Apr 1 21:54:15 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_valid_link: rename $existing_path Unqualified references to
    "path" are horribly vague, so rename to
    $existing_pkg_path_from_cwd for clarity.


      M lib/Stow.pm.in

Mon Apr 1 21:57:36 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_node: rename $existing_path Unqualified references to "path" are
    horribly vague, so rename to
    $existing_pkg_path_from_cwd for clarity.


      M lib/Stow.pm.in

Mon Apr 1 21:51:24 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * link_owned_by_package: rename $source => $link_dest The use of the
    word "source" to describe a link's destination is confusing in the
    context of Stow for reasons explained in the manual.

    So rename the $source variable to avoid this.


      M lib/Stow.pm.in

Mon Apr 1 21:48:33 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * remove or rename XXX Remove old XXX FIXMEs which tell us nothing
    useful and may not be relevant any more.

    Also rename another XXX to an industry-standard FIXME.


      M lib/Stow.pm.in

Mon Apr 1 21:36:58 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node: remove redundant return

      M lib/Stow.pm.in

Mon Apr 1 21:32:30 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Change debug indentation in some helpers These helpers can be called
    at more deeply nested levels, so they should be indented more than
    they were.


      M lib/Stow.pm.in

Mon Apr 1 21:55:51 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_link_node: rename $existing_path Unqualified references to
    "path" are horribly vague, so rename to
    $existing_pkg_path_from_cwd for clarity.


      M lib/Stow.pm.in

Mon Apr 1 21:26:21 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_link_node: rename $existing_source => $link_dest The use of the
    word "source" to describe a link's destination is confusing in the
    context of Stow for reasons explained in the manual.

    So rename the $existing_source variable to $link_dest avoid this.


      M lib/Stow.pm.in

Mon Apr 1 21:23:35 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_contents: remove reference to "source" The use of the word
    "source" is confusing in the context of Stow for reasons explained
    in the manual.


      M lib/Stow.pm.in

Mon Apr 1 21:24:35 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_node: remove comments about implementation details from POD These
    don't add much value, and the reference to $source was out of date
    anyway.


      M lib/Stow.pm.in

Mon Apr 1 21:21:06 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_node: rename $second_source => $link_dest The use of the word
    "source" to describe a link's destination is confusing in the
    context of Stow for reasons explained in the manual.

    So rename the $second_source variable to avoid this.


      M lib/Stow.pm.in

Mon Apr 1 21:33:55 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * foldable: make more understandable Improve variable names, POD, and
    add helpful comments.


      M lib/Stow.pm.in

Mon Apr 1 19:57:54 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * foldable: rename $path to $target_node_path
    $path is horribly vague, so rename it to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 18:49:01 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * foldable: add debug for different cases when not foldable

      M lib/Stow.pm.in

Mon Apr 1 19:53:56 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * read_a_link: improve variable names
    $path is horribly vague, so rename to $link to be more
    informative.

    Also the use of "$target" to describe a link's destination is very 
    confusing in the context of Stow for reasons explained in the
    manual. So rename to $link_dest.


      M lib/Stow.pm.in

Mon Apr 1 17:59:25 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * parent_link_scheduled_for_removal: tweak debug

      M lib/Stow.pm.in

Mon Apr 1 17:00:13 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/unstow_orig: split into subtests

      M t/unstow_orig.t

Mon Apr 1 16:34:01 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * foldable: rename $target => $target_subdir The $target variable was
    ambiguous, as it could have referred to the path to the target
    directory, or the path to a sub-directory in the target, as well
    as its intended meaning of a subpath relative to the target
    directory.  So rename it to try to find the balance between 
    clarity and verbosity.


      M NEWS
      M lib/Stow.pm.in

Mon Apr 1 16:18:52 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * find_stowed_path: rename $path / $dest to $pkg_path_from_cwd
    $path is horribly vague, so rename to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 16:16:52 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node: rename $path to $pkg_path_from_cwd
    $path is horribly vague, so rename to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 16:08:56 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * link_dest_within_stow_dir: rename $path to $pkg_subpath
    $path is horribly vague, so rename to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 16:07:09 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * find_containing_marked_stow_dir: rename $path to $pkg_path_from_cwd
    $path is horribly vague, so rename to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 16:06:12 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_* helpers: rename $path to $pkg_path_from_cwd
    $path is horribly vague, so rename to be more informative.


      M lib/Stow.pm.in

Mon Apr 1 15:58:09 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * marked_stow_dir: rename $path to $dir It's always a directory, so make
    this explicit.


      M lib/Stow.pm.in

Mon Apr 1 15:49:19 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * find_stowed_path: reintroduce missing comment lines These lines were
    accidentally removed by 84367681.


      M lib/Stow.pm.in

Mon Apr 1 15:15:58 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_contents / unstow_node: rename $target => $target_sub{dir,path} 
    This is very similar to a previous commit which did the same
    rename in stow_node().

    The $target variable was ambiguous, as it could have referred to
    the path to the target directory, or the path to a sub-directory
    in the target, as well as its intended meaning of a subpath
    relative to the target directory.  So rename it to try to find the
    balance between clarity and verbosity.


      M lib/Stow.pm.in

Mon Apr 1 15:12:46 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: use American punctuation of "vs." GNU and Stow are both
    originally from the USA, so it makes sense to stay consistent with
    American English.


      M doc/stow.texi

Mon Apr 1 13:00:51 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Remove unstow_*_orig() functions Refactor the compat mode code to
    reuse the existing unstow_contents() and unstow_node().  This
    allows us to remove the parallel versions in 
    unstow_contents_orig() and unstow_node(), which contained a lot of 
    duplicated code and were a significant maintenance burden.


      M lib/Stow.pm.in

Mon Apr 1 12:13:21 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * emacs: tweak more cperl indentation config to match existing style

      M .dir-locals.el

Mon Apr 1 12:12:27 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node_orig: replace a bunch of duplicated code with
    unstow_link_node()

      M lib/Stow.pm.in

Mon Apr 1 11:49:07 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node: extract new unstow_existing_node() sub

      M lib/Stow.pm.in

Mon Apr 1 11:46:10 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node: extract new unstow_link_node() sub

      M lib/Stow.pm.in

Mon Apr 1 11:40:26 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * unstow_node: extract new unstow_valid_link() sub

      M lib/Stow.pm.in

Mon Apr 1 11:17:59 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_node: rename $target => $target_subpath The $target variable was
    ambiguous, as it could have referred to the path to the target
    directory, or the path to a sub-directory in the target, as well
    as its intended meaning of a subpath relative to the target
    directory.  So rename it to try to find the balance between 
    clarity and verbosity.


      M lib/Stow.pm.in

Mon Apr 1 02:30:47 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/dotfiles.t: switch to subtests

      M t/dotfiles.t

Mon Apr 1 01:55:31 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/stow: convert to subtests()

      M t/stow.t

Mon Apr 1 00:39:18 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * rename $existing_source => $existing_link_dest Source can be
    ambiguous, as mentioned in the manual.


      M lib/Stow.pm.in

Mon Apr 1 00:35:35 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * stow_node(): fix odd whitespace

      M lib/Stow.pm.in

Mon Apr 1 00:34:39 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * should_skip_target(): add docs explaining its purpose

      M lib/Stow.pm.in

Mon Apr 1 00:34:19 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * do_link(): improve variable names

      M lib/Stow.pm.in

Mon Apr 1 00:07:06 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Add emacs config to prevent insertion of hard tabs

      M .dir-locals.el

Mon Apr 1 00:06:24 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Remove hard tabs

      M lib/Stow.pm.in

Sun Mar 31 23:51:14 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * add unit tests for adjust_dotfiles()

      M t/dotfiles.t

Sun Mar 31 23:41:02 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge commit 'pullreqs/70' into dev

Sun Mar 31 19:02:23 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: disambiguate meaning of "source"

      M doc/stow.texi

Sun Mar 31 18:59:19 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: clarify that installation image is pre-installation

      M doc/stow.texi

Sun Mar 31 16:10:08 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Stow.pm: reformat old comment style as pod As previously noted, the
    old comment style was difficult to edit. It's also not idiomatic
    Perl style, so reformat as pod.  This exposes more of the inner
    workings of Stow as documentation, but that shouldn't be a
    problem.

    As part of this change, remove outdated and sometimes misleading 
    information about if/when each function throws an exception.


      M NEWS
      M lib/Stow.pm.in

Sun Mar 31 15:38:38 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Stow.pm: rename $ldest to $link_dest for clarity

      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in

Sun Mar 31 15:33:14 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * Stow.pm: reformat comments Some methods had comments with a prefix
    which made the paragraph inconveniently narrow, and made refilling
    it really awkward.  So switch to a more natural comment style.


      M lib/Stow.pm.in

Sun Mar 31 15:25:35 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: avoid double spaces after "i.e."

      M doc/stow.texi

Sun Mar 31 15:14:28 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: Expand the definition of symlinks and disambiguate "target" 
    Target can have two opposing meanings:

    1. the target directory where symlinks are managed by Stow, and 2.
    the destinations of those symlinks

    So try to move away from this by using the word "destination" for 
    symlinks.


      M doc/stow.texi

Sun Mar 31 14:11:36 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * NEWS: more updates in preparation for next release

      M NEWS

Wed Nov 11 19:43:25 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Eliminate erroneous warning when unstowing (#65) When unstowing a
    package, cleanup_invalid_links() is invoked to remove any invalid
    links owned by Stow.  It was invoking link_owned_by_package() to
    check whether each existing link is owned by Stow.  This in turn 
    called find_stowed_path() which since 40a080718505 was not
    allowing for the possibility that it could be passed a symlink
    *not* owned by Stow with an absolute target and consequently
    emitting an erroneous warning.

    So remove this erroneous warning, and refactor find_stowed_path() 
    to use two new helper functions for detecting stow directories: 
    link_dest_within_stow_dir() and find_containing_marked_stow_dir(). 
    Also refactor the logic within each to be simpler and more
    accurate, and add more test cases to the corresponding parts of
    the test suite.

    Fixes #65. Closes #103.

    https://github.com/aspiers/stow/issues/65


      M NEWS
      M lib/Stow.pm.in
      M t/find_stowed_path.t
      A t/link_dest_within_stow_dir.t

Sun Mar 31 11:53:54 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * cleanup_invalid_links: add test for non-cleanup of an unowned link

      M t/cleanup_invalid_links.t

Sun Mar 31 11:58:39 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * cleanup_invalid_links: improve docs

      M lib/Stow.pm.in

Sun Mar 31 11:52:45 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * t/cleanup_invalid_links: divide into subtests This makes the code and
    test output both more legible.


      M t/cleanup_invalid_links.t

Sat Mar 30 14:03:56 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Separate treatment of .stow and .nonstow marked dirs Placing a .stow
    file in a directory tells Stow that this directory should be
    considered a Stow directory.  This is already well-documented.

    There was an undocumented and slightly broken feature where
    placing a
    .nonstow file in a directory was treated in exactly the same way. 
    The intention was for .nonstow to cause Stow to skip stowing into
    and unstowing from that directory and any of its descendants. 
    However, it also caused Stow to consider symlinks into any of
    those directories as owned by Stow, even though that was clearly
    not the intention.  So separate treatment of .stow and .nonstow
    markers, so that while both provide protection against Stow
    stowing and unstowing, only .stow affects the symlink ownership
    logic in find_stowed_path() and marked_stow_dir().

    Probably no one uses the undocumented .nonstow feature, so it may
    make sense to remove this in future.


      M lib/Stow.pm.in
      M t/unstow.t
      M t/unstow_orig.t

Sun Mar 31 11:59:52 2024 +0100  Adam Spiers <stow@adamspiers.org>

    * join_paths: improve docs to clarify purpose / differences join_paths()
    is used in specific ways and has specific behaviour required which
    is nuanced and not obvious at first sight.  So make this explicit
    for future reference.


      M lib/Stow/Util.pm.in

Fri Mar 29 22:52:12 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Make join_paths correctly handle absolute paths Previously
    join_paths() was incorrectly handling absolute paths, for example
    join_paths('a/b', '/c/d') would return 'a/b/c/d' rather than
    '/c/d'.  This was a problem when following a symlink in 
    find_stowed_path(), because if the symlink was not owned by Stow
    and pointed to an absolute path, find_stowed_path() might
    accidentally deem the link owned by Stow, if c/d was a valid path
    relative to the current directory.


      M lib/Stow/Util.pm.in
      M t/join_paths.t

Sat Mar 30 19:27:12 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Disable emacs auto-fill-mode This completely messes up the current
    function documentation.


      M .dir-locals.el

Sat Mar 30 12:57:55 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Move setting of cperl-indent-level to .dir-locals.el This removes
    duplication.


      M .dir-locals.el
      M bin/chkstow.in
      M bin/stow.in
      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in
      M t/testutil.pm

Sat Mar 30 12:55:56 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Highlight an issue with prove overriding TEST_VERBOSE

      M CONTRIBUTING.md

Sat Mar 9 18:11:29 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * t/find_stowed_path.t: Add a couple of missing spaces

      M t/find_stowed_path.t

Sat Mar 9 18:11:00 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Add some helpful comments Explain a few things in preparation for a
    bugfix.


      M lib/Stow.pm.in
      M t/find_stowed_path.t

Sat Mar 9 17:52:17 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * manual: fix duplicated "of" typo

      M doc/stow.texi

Sat Mar 9 17:49:49 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove $stow_path parameter from unstow_{contents,node}{,_orig}() 
    Unlike with the stow_{contents,node}{,_orig}() counterpart
    functions, when unstowing, it's not necessary to pass the
    $stow_path parameter because it can never differ from
    $self->{stow_path}.

    The stow_*() functions need this for the corner case of unfolding
    a tree which is stowed from a different stow directory to the one
    being used for the current stowing operation (see the "Multiple
    Stow Directories" section of the manual).


      M lib/Stow.pm.in

Sat Mar 9 17:38:20 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Tweak text of error and debug messages

      M lib/Stow.pm.in

Sat Mar 9 17:36:19 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a missing period to the stow_contents() comments.

      M lib/Stow.pm.in

Sat Mar 9 17:35:35 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a comment explaining that $node_target can be adjusted for dot-
    prefix

      M lib/Stow.pm.in

Sat Mar 9 17:34:46 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a comment explaining path in stow_contents()

      M lib/Stow.pm.in

Sat Mar 9 17:33:25 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a comment explaining $stow_path parameter of stow_contents() At
    first sight this parameter looks redundant since we have
    $self->{stow_path}, but in one case the value can differ from
    that, so mention that explicitly.


      M lib/Stow.pm.in

Mon Mar 4 00:53:51 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * plan_*: rename $path to $pkg_path for clarity
    $path is a vague variable name.


      M lib/Stow.pm.in

Sun Mar 3 18:30:21 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * dotfiles.t: improve comment descriptions

      M t/dotfiles.t

Sun Mar 3 18:29:53 2024 +0000  Adam Spiers <stow@adamspiers.org>

    * aclocal.m4: update to 1.16.5

      M NEWS
      M aclocal.m4

Mon Apr 5 15:36:36 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * testutil: Add sanity check for cwd

      M t/testutil.pm

Mon Apr 5 15:35:13 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: update the Reporting Bugs / Known Bugs sections

      M doc/stow.texi

Mon Apr 5 15:33:44 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: use @email{} for email addresses

      M doc/stow.texi

Sun Apr 4 23:37:24 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * Remove trailing whitespace

      M lib/Stow/Util.pm.in
      M t/unstow_orig.t

Sun Apr 4 23:31:35 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * testutil: clarify reason for default paths in new_Stow()

      M t/testutil.pm

Sun Apr 4 22:52:22 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * manual: improve explanation of target directory definition Bring this
    more up to date by mentioning the dotfiles use case.


      M NEWS
      M doc/stow.texi

Sun Apr 4 19:08:15 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * Add `watch` target to Makefile for easier hacking

      M CONTRIBUTING.md
      M Makefile.am
      M NEWS

Sun Apr 4 18:10:17 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * CONTRIBUTING: document how to test using prove(1)

      M CONTRIBUTING.md

Fri Aug 12 20:43:56 2022 -0700  Ilya Grigoriev <ilyagr@users.noreply.github.com>

    * Add .gitmodules to the default ignore list

      M default-ignore-list

Sun Apr 4 17:34:46 2021 +0100  Adam Spiers <stow@adamspiers.org>

    * Upgrade aclocal to 1.16.3

      M NEWS
      M aclocal.m4

Wed Nov 11 19:42:28 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * cleanup_invalid_links: it's a bug if called with a non-directory

      M lib/Stow.pm.in

Wed Nov 11 19:41:38 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * CONTRIBUTING: Add a section on how to run the tests

      M CONTRIBUTING.md

Wed Nov 11 19:36:38 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Beef up README.md and add CONTRIBUTING.md

      A CONTRIBUTING.md
      M NEWS
      M README.md
      M doc/stow.texi

Wed Nov 11 19:24:59 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * manual: request --verbose=5 for bug reports

      M doc/stow.texi

Wed Nov 11 19:24:09 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * AUTHORS: mention THANKS file

      M AUTHORS

Wed Nov 11 18:51:22 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * NEWS: update for 2.3.2

      M NEWS

Wed Nov 11 18:42:21 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * NEWS: set org-blank-before-new-entry

      M NEWS

Wed Nov 11 18:19:43 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Skip unnecessary planning

      M lib/Stow.pm.in

Wed Nov 11 17:13:57 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * cleanup_invalid_links: improve handling of scheduled actions

      M lib/Stow.pm.in

Wed Nov 11 17:13:47 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Further improve debug output

      M lib/Stow.pm.in

Mon Nov 2 00:52:41 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename path_owned_by_package() to link_owned_by_package()

      M lib/Stow.pm.in

Mon Nov 2 00:54:15 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Make cleanup_invalid_links() more explicit And add some debug.


      M lib/Stow.pm.in

Mon Nov 2 00:53:19 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve debug indent levels

      M lib/Stow.pm.in

Mon Nov 2 00:19:21 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Add support for emacs dumb-jump Allow easy navigation to function
    definitions in emacs.

    The rg (ripgrep) search is needed because as the dumb-jump README
    says:

       [...] the default searcher (git-grep) won't be able to search
      outside of the project root. This edge case will be fixed in a
      future release.

    See: https://github.com/jacktasia/dumb-jump


      A .dir-locals.el
      A .dumbjump

Sun Nov 1 21:04:22 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Move to explicit debug indentation levels

      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in

Sun Nov 1 17:46:01 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * foldable(): fix debug indentation

      M lib/Stow.pm.in

Sun Nov 1 17:43:17 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * should_skip_target_which_is_stow_dir(): fix debug indentation

      M lib/Stow.pm.in

Sun Nov 1 17:19:18 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: maintainer-clean is better than distclean

      M doc/HOWTO-RELEASE

Sun Nov 1 16:52:50 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Correct comment about overriding the check rule We actually override
    check-TESTS.


      M configure.ac

Sun Nov 1 16:34:46 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove unnecessary AM_MAKEINFOFLAGS tweak We no longer need to ensure
    that texi2any (a.k.a. makeinfo) is called with -I $(srcdir) in
    order to make the

        @verbatiminclude default-ignore-list

    in the manual work, because texi2any includes the current working 
    directory by default anyway.  Presumably this behaviour was
    introduced after this AM_MAKEINFOFLAGS was previously added,
    because it was needed at some point in the past.


      M Makefile.am
      M configure.ac

Sun Nov 1 16:06:36 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Replace broken gmane links with links to lists.gnu.org gmane has been
    dead for quite a while:

       
    https://lars.ingebrigtsen.no/2020/01/06/whatever-happened-to-news-gmane-org/


      M Makefile.am
      M NEWS
      M TODO

Sun Nov 1 15:05:31 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * aclocal.m4: update to 1.16.2 This only updates copyright notices to
    2020, and URLs to https.


      M aclocal.m4

Sun Nov 1 15:04:56 2020 +0000  Adam Spiers <stow@adamspiers.org>

    * Ditch texinfo.tex from distribution

      M MANIFEST
      M Makefile.am
      M automake/.gitignore
      D doc/texinfo.tex

Thu Apr 15 12:18:10 2021 +0100  Adam Spiers <github@adamspiers.org>

    * Merge pull request #86 from gutierri/patch-manpage add option
    --simulate on manpage

Wed Apr 14 22:08:38 2021 -0300  Gutierri Barboza <me@gutierri.me>

    * add option --simulate on manpage

      M bin/stow.in

Wed Apr 14 11:03:00 2021 +0100  Adam Spiers <github@adamspiers.org>

    * Merge pull request #85 from gutierri/patch-usage-dotfiles add
    --dotfiles sub usage

Tue Apr 13 22:09:38 2021 -0300  Gutierri Barboza <me@gutierri.me>

    * add --dotfiles sub usage

      M bin/stow.in

Sun Nov 1 12:24:52 2020 +0000  Adam Spiers <github@adamspiers.org>

    * Merge pull request #71 from egli/master Mention the dotfiles option in
    the manual

Wed May 27 17:51:37 2020 +0200  Christian Egli <christian.egli@sbs.ch>

    * Mention the dotfiles option in the manual This should have been part
    of 182acbbb64425bf95008cb6d42d266f6185032c9 when the option was
    first added.

    This commit basically just copies the help text from stow.in into
    the texinfo manual.


      M doc/stow.texi

Mon May 25 22:26:31 2020 +0200  ATuinDev <1757663+AitorATuin@users.noreply.github.com>

    * Fix missing variable

      M lib/Stow.pm.in

Mon May 25 22:23:23 2020 +0200  ATuinDev <1757663+AitorATuin@users.noreply.github.com>

    * Add more tests for testing directories in dotfiles.t

      M t/dotfiles.t

Mon May 25 22:21:31 2020 +0200  ATuinDev <1757663+AitorATuin@users.noreply.github.com>

    * Add $level variable in stow_contents and stow_node This variables is
    used to keep track of the current level in the source.


      M lib/Stow.pm.in

Sun May 24 18:12:49 2020 +0200  ATuinDev <1757663+AitorATuin@users.noreply.github.com>

    * Fixes Bug #56727 Problem was that when running
    stow_contents/unstow_contents recursively from 
    stow_node/unstow_node the information for the source path (without
    the dot- to
    . transformation) was lost.

    In the case of stow_contents the solution is just to remove the
    leading dots (..) from the $source path (since the $source path is
    passed as an argument to the function)

    In the case of unstow_contents the solution is the same as for
    stow_contents but the arguments was now passed so I added it to
    the function.


      M lib/Stow.pm.in

Sun Jul 28 14:54:36 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: explicitly push to master This avoids errors like

        fatal: You are pushing to remote 'savannah', which is not the
    upstream of
       your current branch 'master', without telling me what to push
       to update which remote branch.


      M doc/HOWTO-RELEASE

Sun Jul 28 14:52:53 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.3.2 for development of next release

      M META.json
      M META.yml
      M configure.ac

Sun Jul 28 14:52:16 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: fix final step of bumping to next release version

      M doc/HOWTO-RELEASE

Sun Jul 28 14:29:06 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * NEWS: disable org-export-with-toc 2.3.0 was a big release with lots of
    stuff, but most releases will be smaller, so default to not having
    a ToC.


      M NEWS

Sun Jul 28 14:28:41 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * NEWS: don't export with author name Avoid extra noise when exporting
    to text for a release announcement.


      M NEWS

Sun Jul 28 13:58:00 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: explain how to confirm PAUSE acceptance of upload

      M doc/HOWTO-RELEASE

Sun Jul 28 13:28:46 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: do ./Build dist earlier docker builds break ./Build
    dist, so do it earlier.


      M doc/HOWTO-RELEASE

Sun Jul 28 13:15:11 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make sure release process starts from a clean slate

      M doc/HOWTO-RELEASE

Sun Jul 28 13:10:49 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Prepare NEWS for 2.3.1 release

      M NEWS

Sun Jul 28 12:57:27 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * fix cross-references under --no-folding section of manual Under emacs,
    this was previously rendered as

        '--no-folding'

             This disables any further *note tree folding:: or *note
    tree
            refolding::.  If a new subdirectory is encountered whilst
    stowing a

    which looks awkward.  Similarly under info(1):

        '--no-folding'

             This disables any further *note tree folding:: or *note
    tree
            refolding::.  If a new subdirectory is encountered whilst
    stowing a

    The new way is undesirably repetitive, but at least grammatically 
    correct.  I don't think there's a better solution with texinfo :-/


      M doc/stow.texi

Sun Jul 28 12:55:22 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: add suggested commands for updating home page

      M doc/HOWTO-RELEASE

Sun Jul 28 13:03:54 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * cli.t: test with the right Perl executable (#62) cli.t: test with the
    right Perl executable

Tue Jul 16 19:24:19 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: update news section of online home page

      M doc/HOWTO-RELEASE

Tue Jul 16 19:21:04 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: update online docs *after* uploading release It doesn't
    make sense to have docs online relating to a release which isn't
    yet available; it's less confusing to have a small time window in
    which the online docs are out of date.


      M doc/HOWTO-RELEASE

Mon Jul 15 16:10:21 2019 -0400  Adam Spiers <stow@adamspiers.org>

    * cli.t: test with the right Perl executable t/cli.t calls scripts which
    run with the first perl found in the user's PATH (usually the
    system perl), not with the perl used for the build, as reported
    here:

        https://rt.cpan.org/Ticket/Display.html?id=129944

    Thanks to Slaven Rezic for spotting this and reporting it!


      M THANKS
      M t/cli.t

Sat Jun 29 13:48:59 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Remove dependencies on Hash::Merge and Clone::Choose (#60) Remove
    dependencies on Hash::Merge and Clone::Choose

Sat Jun 29 13:04:30 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Remove dependencies on Hash::Merge and Clone::Choose stow 2.3.0 added
    external runtime dependencies on Hash::Merge and Clone::Choose.
    Historically stow hasn't had runtime dependencies other than Perl
    itself, which is a useful property if you're managing the 
    installation of Perl using stow; the bootstrapping instructions in 
    stow's manual would need updating to describe how to install these
    two modules (and any dependencies they have now or in the future)
    as well.

    However, Hash::Merge is much more general than stow actually
    needs, so replace the merge() call with a few lines of equivalent
    code -- this avoids the external dependencies, and is clearer than
    the merge() call.

    Many thanks to Adam Sampson for this patch:

    https://lists.gnu.org/archive/html/bug-stow/2019-06/msg00001.html


      M Build.PL
      M META.json
      M META.yml
      M NEWS
      M bin/stow.in
      M t/rc_options.t

Sat Jun 29 13:40:45 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.3.1 for development of next release

      M META.json
      M META.yml
      M NEWS
      M configure.ac
      M doc/HOWTO-RELEASE

Sat Jun 29 13:03:11 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Maintainer tweaks (#59) Maintainer tweaks

Sat Jun 29 01:30:36 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add GPL v3 upgrade to NEWS for 2.3.0 release Forgot to do this prior
    to the release :-(  But at least it will be mentioned in the
    announcement on the mailing lists.


      M NEWS

Sat Jun 29 01:12:36 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make NEWS export to text better Run org-convert-to-odd-levels on NEWS
    and set local variables so that sections can easily be exported
    for release announcements.


      M NEWS
      M doc/HOWTO-RELEASE

Fri Jun 28 23:48:37 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Set DISTCLEANFILES to clean up more Docker generates a whole bunch of
    files as root.


      M Makefile.am

Sat Jun 29 00:55:51 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: Fix cvs commit command for docs

      M doc/HOWTO-RELEASE

Sat Jun 29 00:36:00 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: Fix git tag command

      M doc/HOWTO-RELEASE

Fri Jun 28 23:54:30 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Split perlbrew install-multiple into separate RUN cmd This allows
    changing which Perls are used etc. without re-bootstrapping
    perlbrew.


      M docker/Dockerfile

Fri Jun 28 21:57:08 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Use Clone backend for Hash::Merge, not Storable (#58) Use Clone
    backend for Hash::Merge, not Storable

Fri Jun 28 21:11:58 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Use Clone backend for Hash::Merge, not Storable Need to avoid Storable
    backend, since it can't deal with regexps:

        https://rt.perl.org/Public/Bug/Display.html?id=50608

    This should fix the Docker builds.


      M Build.PL
      M META.json
      M META.yml
      M bin/stow.in

Fri Jun 28 21:20:22 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * make maintainer-clean remove cover_db/

      M Makefile.am

Fri Jun 28 20:46:15 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make testing within Docker containers easier (#56) Make testing within
    Docker containers easier

Fri Jun 28 20:10:45 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make testing within Docker containers easier

      M docker/run-stow-tests.sh
      M test-docker.sh

Fri Jun 28 20:33:30 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #57 from aspiers/strict-tests Allow make to fail if
    missing modules for test dependencies

Fri Jun 28 20:21:41 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Allow make to fail if missing modules for test dependencies e.g. make
    STRICT_TESTS=1

    However we don't need this in .travis.yml as explained in the 
    comments.


      M .travis.yml
      M configure.ac

Fri Jun 28 17:48:04 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Dockerfile: fix Debian jessie sources (#55) Dockerfile: fix Debian
    jessie sources

Fri Jun 28 17:12:18 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Dockerfile: fix Debian jessie sources 
    https://superuser.com/questions/1423486/issue-with-fetching-http-deb-debian-org-debian-dists-jessie-updates-inrelease


      M docker/Dockerfile

Fri Jun 28 17:14:23 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make docker scripts use get-version (#54) Make docker scripts use
    get-version

Fri Jun 28 17:10:42 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * rebuild META.* in preparation for 2.3.0 release (#53) rebuild META.*
    in preparation for 2.3.0 release

Fri Jun 28 17:08:48 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make docker scripts use get-version

      M build-docker.sh
      M test-docker.sh

Fri Jun 28 17:04:40 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * rebuild META.* in preparation for 2.3.0 release

      M META.json
      M META.yml

Fri Jun 28 16:48:59 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Various improvements to tests (#52) Various improvements to tests

Fri Jun 28 09:56:46 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add separate tests for .stowrc from $HOME and $PWD
    .stowrc can be obtained from $HOME and/or the current working 
    directory; however only the $HOME case was tested before, because 
    during tests Stow was being run from $HOME.

    So switch $TEST_DIR to an absolute path, create a new run_from/ 
    subdirectory, and chdir to that before invoking any Stow code. 
    This allows us to test the behaviour of .stowrc in $HOME and
    run_from/ separately.


      M NEWS
      M bin/stow.in
      M t/rc_options.t
      M t/testutil.pm

Fri Jun 28 15:23:52 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Split up is_deeply() assertions in find_stowed_path.t This makes the
    tests and any failures more readable.


      M t/find_stowed_path.t

Fri Jun 28 15:22:44 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Check that find_stowed_path $path matches relative/absolute with
    target Watch out for a corner case probably only relevant in
    tests.


      M lib/Stow.pm.in

Fri Jun 28 15:22:29 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Improve comments on function parameters for clarity

      M lib/Stow.pm.in

Fri Jun 28 10:32:18 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add examples of how to enable debugging in tests

      M t/find_stowed_path.t
      M t/stow.t

Fri Jun 28 01:02:48 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Replace testutil::make_dir with File::Path::make_path No need for a
    custom function here.


      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/cli_options.t
      M t/dotfiles.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/ignore.t
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Fri Jun 28 00:53:12 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Rename $OUT_DIR to $TEST_DIR This is a more accurate reflection of
    what it is.


      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/cli_options.t
      M t/defer.t
      M t/dotfiles.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/ignore.t
      M t/rc_options.t
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Fri Jun 28 00:41:55 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Avoid dereferencing $ENV{HOME} if it is undefined (#32) Avoid
    dereferencing $ENV{HOME} if it is undefined

Thu Jun 27 20:49:44 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Improve the history of individual contributions and repositories (#49) 
    Improve the history of individual contributions and repositories

Thu Jun 27 20:49:18 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Upgrade to GPL v3 and add headers to files (#50)
    Upgrade to GPL v3 and add headers to files

Thu Jun 27 20:28:17 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Improve the history of individual contributions and repositories The
    source code has been through a rather complicated journey, and 
    it's occasionally useful to understand this history from CVS to a 
    private Subversion repository to its current location in git.  So 
    document this more thoroughly, and ensure that everyone involved 
    is in the THANKS file.


      M AUTHORS
      M README.md
      M THANKS

Thu Jun 27 20:39:16 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Change -w to "use warnings;" in tools/get-version This is more
    idiomatic and consistent with everywhere else.


      M tools/get-version

Thu Jun 27 20:37:50 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Change #!/usr/local/bin/perl to #!/usr/bin/perl in t/*.t This doesn't
    really matter, since these are not executed directly, but it's
    more consistent with everything else and modern systems.


      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/cli.t
      M t/cli_options.t
      M t/defer.t
      M t/dotfiles.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/ignore.t
      M t/join_paths.t
      M t/parent.t
      M t/rc_options.t
      M t/stow.t
      M t/unstow.t
      M t/unstow_orig.t

Thu Jun 27 14:02:19 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Upgrade to GPL v3 and add headers to files (#44) Following advice from
    maintainers@gnu.org, bring Stow in line with other GNU projects by
    upgrading it from GPL v2 to v3

     
    https://www.gnu.org/prep/maintain/html_node/Licensing-of-GNU-Packages.html#Licensing-of-GNU-Packages

    as obtained in plain text and texinfo formats from

      https://www.gnu.org/licenses/

    and adding appropriate headers:

     
    https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Code.html#License-Notices-for-Code

    Fixes #44: https://github.com/aspiers/stow/issues/44


      M Build.PL
      M COPYING
      M INSTALL.md
      M Makefile.am
      M README.md
      M TODO
      M bin/chkstow.in
      M bin/stow.in
      M configure.ac
      M doc/stow.texi
      M docker/Dockerfile
      M docker/bootstrap-perls.sh
      M docker/run-stow-tests.sh
      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in
      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/cli.t
      M t/cli_options.t
      M t/defer.t
      M t/dotfiles.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/ignore.t
      M t/join_paths.t
      M t/parent.t
      M t/rc_options.t
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Thu Jun 27 14:14:23 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix Travis failure after merging #42 (#46) Fix Travis failure after
    merging #42

Thu Jun 27 14:06:19 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * remove trailing whitespace from lines (#45) remove trailing whitespace
    from lines

Thu Jun 27 13:55:35 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix Travis failure after merging #42 Something weird happened with 
    https://travis-ci.org/aspiers/stow/jobs/551290921 after merging
    #42, as shown below.  Maybe removing texi2html from the list of
    packages for Travis to install will help.

    --- Installing APT Packages 15.50s$ travis_apt_get_update 0.11s$
    sudo -E apt-get -yq --no-install-suggests --no-install-recommends
    $(travis_apt_get_options) install texinfo texlive texi2html 
    Reading package lists... Building dependency tree... Reading state
    information... Package texinfo is not available, but is referred
    to by another package. This may mean that the package is missing,
    has been obsoleted, or is only available from another source 
    However the following packages replace it:
     info install-info E: Package 'texinfo' has no installation
    candidate E: Unable to locate package texi2html 
    apt-get.diagnostics apt-get install failed
    $ cat ${TRAVIS_HOME}/apt-get-update.log Get:2
    http://dl.hhvm.com/ubuntu trusty InRelease [3,106 B] Get:3
    http://security.ubuntu.com/ubuntu trusty-security InRelease [65.9
    kB] Get:4 http://ppa.launchpad.net/chris-lea/redis-server/ubuntu
    trusty InRelease [15.4 kB] Ign:5
    http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4
    InRelease Get:6 http://repo.mongodb.org/apt/ubuntu
    trusty/mongodb-org/3.4 Release [2,495 B] Get:7
    http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4
    Release.gpg [801 B] Get:8 http://dl.hhvm.com/ubuntu trusty/main
    amd64 Packages [1,812 B] Get:9 http://security.ubuntu.com/ubuntu
    trusty-security/main Sources [220 kB] Get:10
    http://security.ubuntu.com/ubuntu trusty-security/restricted
    Sources [5,050 B] Get:11 http://security.ubuntu.com/ubuntu
    trusty-security/universe Sources [126 kB] Get:12
    http://security.ubuntu.com/ubuntu trusty-security/multiverse
    Sources [3,070 B] Get:13 http://security.ubuntu.com/ubuntu
    trusty-security/main amd64 Packages [1,032 kB] Get:14
    http://security.ubuntu.com/ubuntu trusty-security/main i386
    Packages [934 kB] Get:15 http://security.ubuntu.com/ubuntu
    trusty-security/main Translation-en [541 kB] Get:16
    http://security.ubuntu.com/ubuntu trusty-security/restricted amd64
    Packages [18.1 kB] Get:17 http://security.ubuntu.com/ubuntu
    trusty-security/restricted i386 Packages [17.8 kB] Get:18
    http://security.ubuntu.com/ubuntu trusty-security/restricted
    Translation-en [3,272 B] Get:19 http://security.ubuntu.com/ubuntu
    trusty-security/universe amd64 Packages [377 kB] Get:20
    http://security.ubuntu.com/ubuntu trusty-security/universe i386
    Packages [355 kB] Get:21 http://security.ubuntu.com/ubuntu
    trusty-security/universe Translation-en [203 kB] Get:22
    http://security.ubuntu.com/ubuntu trusty-security/multiverse amd64
    Packages [4,730 B] Get:23 http://security.ubuntu.com/ubuntu
    trusty-security/multiverse i386 Packages [4,887 B] Get:24
    http://security.ubuntu.com/ubuntu trusty-security/multiverse
    Translation-en [2,426 B] Get:25
    https://download.docker.com/linux/ubuntu trusty InRelease [37.1
    kB] Get:26 http://repo.mongodb.org/apt/ubuntu
    trusty/mongodb-org/3.4/multiverse amd64 Packages [14.1 kB] Get:27
    https://download.docker.com/linux/ubuntu trusty/stable amd64
    Packages [5,763 B] Get:28 https://download.docker.com/linux/ubuntu
    trusty/edge amd64 Packages [6,911 B] Ign:29
    http://ppa.launchpad.net/couchdb/stable/ubuntu trusty InRelease 
    Get:30 http://ppa.launchpad.net/git-core/ppa/ubuntu trusty
    InRelease [20.8 kB] Get:31 http://ppa.launchpad.net/hvr/ghc/ubuntu
    trusty InRelease [15.4 kB] Get:32
    http://ppa.launchpad.net/pollinate/ppa/ubuntu trusty InRelease
    [15.4 kB] Get:33 http://ppa.launchpad.net/webupd8team/java/ubuntu
    trusty InRelease [15.5 kB] Get:34
    http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty/main
    amd64 Packages [1,843 B] Get:35
    http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty/main
    i386 Packages [1,842 B] Get:36
    http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty/main
    Translation-en [990 B] Get:37
    http://ppa.launchpad.net/couchdb/stable/ubuntu trusty Release
    [15.1 kB] Get:38 http://ppa.launchpad.net/couchdb/stable/ubuntu
    trusty Release.gpg [316 B] Ign:39
    http://dl.google.com/linux/chrome/deb stable InRelease Get:40
    http://dl.google.com/linux/chrome/deb stable Release [943 B] 
    Get:41 http://dl.google.com/linux/chrome/deb stable Release.gpg
    [819 B] Get:42 http://ppa.launchpad.net/git-core/ppa/ubuntu
    trusty/main amd64 Packages [3,494 B] Get:43
    http://ppa.launchpad.net/git-core/ppa/ubuntu trusty/main i386
    Packages [3,496 B] Get:44
    http://ppa.launchpad.net/git-core/ppa/ubuntu trusty/main
    Translation-en [2,368 B] Get:45
    http://ppa.launchpad.net/hvr/ghc/ubuntu trusty/main amd64 Packages
    [18.5 kB] Get:46 http://ppa.launchpad.net/hvr/ghc/ubuntu
    trusty/main i386 Packages [15.7 kB] Get:47
    http://ppa.launchpad.net/hvr/ghc/ubuntu trusty/main Translation-en
    [1,107 B] Get:48 http://ppa.launchpad.net/pollinate/ppa/ubuntu
    trusty/main amd64 Packages [430 B] Get:49
    http://ppa.launchpad.net/pollinate/ppa/ubuntu trusty/main i386
    Packages [430 B] Get:50
    http://ppa.launchpad.net/pollinate/ppa/ubuntu trusty/main
    Translation-en [374 B] Get:51
    http://ppa.launchpad.net/webupd8team/java/ubuntu trusty/main amd64
    Packages [20 B] Get:52
    http://ppa.launchpad.net/webupd8team/java/ubuntu trusty/main i386
    Packages [20 B] Get:53
    http://ppa.launchpad.net/webupd8team/java/ubuntu trusty/main
    Translation-en [20 B] Get:54
    http://ppa.launchpad.net/couchdb/stable/ubuntu trusty/main amd64
    Packages [985 B] Get:55
    http://ppa.launchpad.net/couchdb/stable/ubuntu trusty/main i386
    Packages [985 B] Get:56
    http://ppa.launchpad.net/couchdb/stable/ubuntu trusty/main
    Translation-en [644 B] Get:57
    http://dl.google.com/linux/chrome/deb stable/main amd64 Packages
    [1,107 B] Err:58
    https://packagecloud.io/computology/apt-backport/ubuntu trusty
    InRelease
     Failed to connect to packagecloud.io port 443: Connection timed
    out Err:59 http://us-east-1.ec2.archive.ubuntu.com/ubuntu trusty
    InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out Err:60
    http://us-east-1.ec2.archive.ubuntu.com/ubuntu trusty-updates
    InRelease
     Unable to connect to apt.cache.travis-ci.com:http: Err:61
    http://toolbelt.heroku.com/ubuntu ./ InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out Err:62
    http://us-east-1.ec2.archive.ubuntu.com/ubuntu trusty-backports
    InRelease
     Unable to connect to apt.cache.travis-ci.com:http: Err:63
    http://apt.postgresql.org/pub/repos/apt trusty-pgdg InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out Err:1 http://dl.bintray.com/apache/cassandra
    39x InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out Get:64
    https://packagecloud.io/github/git-lfs/ubuntu trusty InRelease
    [23.2 kB] Ign:64 https://packagecloud.io/github/git-lfs/ubuntu
    trusty InRelease Get:65
    https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu trusty
    InRelease [23.7 kB] Get:66
    https://packagecloud.io/github/git-lfs/ubuntu trusty/main Sources
    [20 B] Get:67 https://packagecloud.io/github/git-lfs/ubuntu
    trusty/main amd64 Packages [8,003 B] Get:68
    https://packagecloud.io/github/git-lfs/ubuntu trusty/main i386
    Packages [7,761 B] Get:69
    https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu
    trusty/main Sources [20 B] Get:70
    https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu
    trusty/main amd64 Packages [7,866 B] Get:71
    https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu
    trusty/main i386 Packages [7,866 B] Fetched 4,218 kB in 15s (279
    kB/s) Reading package lists... W:
    http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg:
    Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses
    weak digest algorithm (SHA1) W: GPG error:
    https://packagecloud.io/github/git-lfs/ubuntu trusty InRelease:
    The following signatures couldn't be verified because the public
    key is not available: NO_PUBKEY 6B05F25D762E3157 W: The repository
    'https://packagecloud.io/github/git-lfs/ubuntu trusty InRelease'
    is not signed. W: There is no public key available for the
    following key IDs: 6B05F25D762E3157 W: Failed to fetch
    http://us-east-1.ec2.archive.ubuntu.com/ubuntu/dists/trusty/InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out W: Failed to fetch
    http://us-east-1.ec2.archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease
     Unable to connect to apt.cache.travis-ci.com:http: W: Failed to
    fetch
    http://us-east-1.ec2.archive.ubuntu.com/ubuntu/dists/trusty-backports/InRelease
     Unable to connect to apt.cache.travis-ci.com:http: W: Failed to
    fetch
    http://www.apache.org/dist/cassandra/debian/dists/39x/InRelease 
    Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out W: Failed to fetch
    https://packagecloud.io/computology/apt-backport/ubuntu/dists/trusty/InRelease
     Failed to connect to packagecloud.io port 443: Connection timed
    out W: Failed to fetch
    http://toolbelt.heroku.com/ubuntu/./InRelease  Could not connect
    to apt.cache.travis-ci.com:80 (34.96.81.152), connection timed out 
    W: Failed to fetch
    http://apt.postgresql.org/pub/repos/apt/dists/trusty-pgdg/InRelease
     Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152),
    connection timed out W: Some index files failed to download. They
    have been ignored, or old ones used instead. The command "sudo -E
    apt-get -yq --no-install-suggests --no-install-recommends
    $(travis_apt_get_options) install texinfo texlive texi2html"
    failed and exited with 100 during . Your build has been stopped.


      M .travis.yml

Wed Jun 26 13:25:53 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * remove trailing whitespace from lines

      M doc/stow.texi

Thu Jun 27 13:27:12 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Update maintainership to reflect reality (#41) Update maintainership
    to reflect reality

Wed Jun 26 14:08:48 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * switch from unmaintained texi2html to makeinfo --html --no-split (#42) 
    switch from unmaintained texi2html to makeinfo --html --no-split

Wed Jun 26 13:26:08 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Update maintainership to reflect reality Troy hasn't been active on
    the project for many years.

    https://lists.gnu.org/archive/html/stow-devel/2011-11/msg00009.html


      M AUTHORS
      M THANKS

Wed Jun 26 13:37:07 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Switch to makeinfo --html --no-split for single-page HTML manual (#21) 
    Remove the dependency on the ancient and unmaintained texi2html,
    which was difficult to get running on most distros other than
    openSUSE.

    There are two more modern alternative approaches which can replace 
    this:

      - Use texi2any
     - Use makeinfo --html --no-split

    The latter seems to be the standard way these days, so we switch
    to that; however we keep Makefile rules for all three, and a phony 
    meta-rule 'manual-single-html-all' to allow quick comparison
    between them.  Make tweaks accordingly to minimise the differences
    and improve the output.

    The rules for the older two approaches do not get triggered by 
    default.

    Fixes #21: https://github.com/aspiers/stow/issues/21


      M .gitignore
      M MANIFEST.SKIP
      M Makefile.am
      M NEWS

Wed Jun 26 13:34:09 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Include the preamble in online versions of the manual This is more
    inline with the suggestion in the texinfo manual:

    https://www.gnu.org/software/texinfo/manual/texinfo/html_node/_0040top-Command.html

    and also the preamble is useful in all cases.


      M doc/stow.texi

Wed Jun 26 13:33:48 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add Guillaume and myself to the list of @authors

      M doc/stow.texi

Wed Jun 26 13:25:53 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * remove trailing whitespace from lines

      M AUTHORS

Tue Jun 25 20:33:48 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * add tools/get-version to MANIFEST Forgot to do this, and it broke
    ./Build.PL distcheck.


      M MANIFEST

Tue Jun 25 20:10:43 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge remote-tracking branch 'bricewge/fix-34'

Tue Jun 25 20:04:11 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add some polish to the release process

      M doc/HOWTO-RELEASE
      A tools/get-version

Tue Jun 25 19:49:46 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Perform shell expansion on the contents of .stowrc (#40) Perform shell
    expansion on the contents of .stowrc

Thu Jul 14 14:48:40 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Add function to expand ~ in .stowrc files (#14) Add a new
    expand_tilde() function that performs tilde expansion of strings,
    and corresponding unit tests:

        * A ~ at the beginning of a path is expanded to the user's
    home
         directory.
       * Literal '~' can be provided with '\~'

    Combine this with expand_environment() in a new expand_filepath() 
    function which applies all (both) required expansion functions to
    a string, and use that in get_config_file_options() to expand
    .stowrc options.

    Add more tests to check that tilde expanded in correct places,
    i.e.:

        * expanded for --target and --dir
       * not expanded for --ignore, --defer, or --override

    Update documentation on stowrc files according to this
    functionality change.

    Fixes #14: https://github.com/aspiers/stow/issues/14


      M NEWS
      M bin/stow.in
      M doc/stow.texi
      M t/rc_options.t

Thu Jul 14 11:37:42 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Apply environment expansion to options in .stowrc files Expand
    environment variables used in stowrc, as requested in

        https://savannah.gnu.org/bugs/?41826

    This is achieved by creating a new function expand_environment()
    that replaces any substring of the form '$VAR' or '${VAR}' with
    contents of environment variable $VAR.  Literal '$' can be given
    by '\$'.

    N.B. The function is only applied to the --target and --dir
    options, and only for options specified in .stowrc; cli options
    are left untouched.

    Undefined variables are expanded to the empty string, as they
    would be in normal shell parameter expansion.

    Unit tests added accordingly:

      - Test expand_environment():
       * Expand $HOME
       * Expand ${HOME}
       * Expand ${WITH SPACE}
       * Expand '\$HOME'. Expected is '$HOME'
       * Expand ${UNDEFINED}. Expected is ''.

      - Test that it's applied to the correct options.

      - Test that CLI options are not expanded.


      M bin/stow.in
      M t/cli_options.t
      M t/rc_options.t

Fri Jul 1 20:07:28 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Parse cli and stowrc files separately Why:

    * We want to selectively apply expansion to:
       * Only options from stowrc files.
       * Only options that take a path.
    * This requires ability to:
       * Differentiate cli options from stowrc options
       * Distinguish between individual stowrc options.

    This change addresses the need by:

    * Options from ARGV and stowrc files are separately parsed,
    resulting in
     two options hashes.
       * Creating an option hash from stowrc files allows modification
    of
         specific arguments without having to rely on something like
    regex
         parsing of the options.

    * get_config_file_options modified to return options hash.
       * Uses the same parse_options function that parses ARGV

    * Add Hash:Merge to dependencies in order to merge the two option
     hashes.

    * process_options() merges the two option hashes.
       * Get option hash for ARGV
       * Get option hash from get_config_file_options().
       * Merge the two hashes with Hash::Merge.
       * Sanitation and checks are ran on the merged options.

    * The options -S, -D, and -R are ignored in stowrc files.
       * Due to the way argument parsing happens, the effect of these
         actions is not carried from stowrc into parsing of cli
    options.
       * It doesn't seem to make sense to put these options in stowrc
         anyway.


      M Build.PL
      M META.json
      M META.yml
      M bin/stow.in

Fri Jun 24 16:34:13 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Factor out parsing of options Why:

    * Want to be able to selectively apply filepath expansion to:
       1. Only options in a stowrc file.
       2. Only options that take a file path.

    * Because of need 1, any expansion must be performed on stowrc
    options
     before merging with cli options.

    * Because of need 2, stowrc options need to be parsed before
    expansion
     in order to know which options need expanding.

    This change addresses the need by:

    * Create parse_options()
       * Implements option parsing logic previously in
    process_options()
       * Takes an array as parameter instead of assuming ARGV
    * Edit process_options() to still work as expected.
       * Only change was to call parse_options() instead of directly
         parsing ARGV

    * By factoring out the option parsing code, we can reuse the
    existing
     parsing code for stowrc options.
       * Allows expansion of only the option itself, i.e expansion on
         "$HOME/target" rather than "--target=$HOME/target"
       * Allows easy determination of which options need expansion.


      M bin/stow.in

Thu Jul 14 08:55:55 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Add test for conflicting stowrc and cli args Why:

    * Want to add feature to stowrc parsing.
    * Missing regression test for conflicting cli and stowrc options.

    This change addresses the need by:

    * Add missing regression tests to rc_options.t
       * Two types of tests for the two types of options possible.

    * For scalar options such as --target, cli arguments should
    overwrite
     stowrc arguments.

    * For options that result in a list, such as --ignore, the
    arguments
     from cli and stowrc files should be merged.


      M t/rc_options.t

Fri Jul 1 18:38:25 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Add test harness for stowrc files Why:

    * Planning on developing a new feature for parsing of stowrc
    files.
    * Need a test harness that performs initialization and clean up
       * Initialization: Create directory structure that allows
    creation of
         stowrc files without worrying about squashing existing files.
       * Clean up: Remove all files created during testing.

    This change addresses the need by:

    * Add intialization and cleanup harness in t/rc_options.t
       * Define the location to write stowrc files to in $RC_FILE
       * Ensures that location $RC_FILE does not already exist.
       * Calls the init_test_dirs to bootstrap directory tree.
       * After all tests are run, removes $RC_FILE and the testing
         directory tree.

    * Add basic test of stowrc parsing to t/rc_options.t
       * Provides a template of how to create and test a stowrc file.

    * Newly created t/rc_options.t file added to MANIFEST


      M MANIFEST
      A t/rc_options.t

Fri Jun 24 15:06:06 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Change init_test_dirs to point $HOME at $OUT_DIRS Why:

    * Want to add a new feature to parsing of stowrc files.
    * Need ability to write .stowrc files for testing without risk of
     squashing existing files.

    This change addresses the need by:

    * Reusing logic in init_test_dirs
       * init_test_dirs already creates new directory structure and
    overwrites
         $HOME to point into /tmp.
    * This commit changes init_test_dirs to point $HOME at the newly
    created
     directory structure ($OUT_DIR) instead of /tmp.
       * Grants ability to write .stowrc to $HOME without fear.
       * Pointing $HOME at $OUT_DIR instead of /tmp also makes cleanup
    easier.
           * Remove $OUT_DIR vs remove specific files in /tmp.


      M t/testutil.pm

Tue Jun 25 19:05:38 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Don't warn when .stowrc is used We fully support and expect some users
    using .stowrc, so there is no reason to issue a warning when they
    do.


      M bin/stow.in

Tue Jun 25 19:36:49 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Group news items for 2.3.0 Since 2.3.0 is a long overdue release and
    has many changes, document them in NEWS in three groups:

    - New features / changes in behaviour
    - Documentation fixes and enhancements
    - Fixes for bugs and technical debt


      M NEWS

Tue Jun 25 17:48:07 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Update docs according to recent commits (#39) Update docs according to
    recent commits

Tue Jun 25 17:21:53 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Update NEWS and THANKS according to recent commits

      M NEWS
      M THANKS

Tue Jun 25 17:25:33 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Synchronise --verbose documentation The man page was updated with
    regard to higher --verbose levels but not the info manual, so fix
    that.


      M doc/stow.texi

Tue Jun 25 17:05:43 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix old descriptions of Stow (#22) (#38) Fix old descriptions of Stow
    (#22)

Mon Nov 21 14:56:26 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix old descriptions of Stow (#22) De-emphasise the package management
    aspects, since these days almost everyone prefers to use modern
    package managers such as rpm / dpkg / Nix for (system-wide)
    package management.

    Also include more popular modern use cases for Stow such as
    management of dotfiles and software compiled in the user's $HOME
    directory.

    Fixes #22: https://github.com/aspiers/stow/issues/22


      M README.md
      M bin/stow.in
      M doc/stow.texi
      M lib/Stow.pm.in

Tue Jun 25 15:55:15 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Merge pull request #37 from aspiers/invalid-option-exit-code Return
    non-zero exit code when invalid option is specified (#34)

Tue Jun 25 13:44:35 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Return non-zero exit code when invalid option is specified (#34) Also
    add a unit test for this.

    Fixes #34: https://github.com/aspiers/stow/issues/34


      M bin/stow.in
      M t/cli.t

Tue Jun 25 15:41:41 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add black box CLI testing and 2 other tweaks (#36) Add black box CLI
    testing and 2 other tweaks

Tue Jun 25 14:27:56 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Add cli.t for testing invocation of stow executable Unlike the other
    tests, this actually treats stow(1) as a black box script, running
    it directly rather than require-ing it as a library. This allows
    us to check things like the exit codes returned.


      M MANIFEST
      A t/cli.t

Tue Jun 25 14:30:08 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * Make dotfiles.t executable for consistency with other tests

      M t/dotfiles.t

Tue Jun 25 13:44:17 2019 +0100  Adam Spiers <stow@adamspiers.org>

    * remove duplicate "the" typo

      M bin/chkstow.in

Tue Jun 11 14:13:51 2019 +0200  Brice Waegeneire <brice.wge@gmail.com>

    * retrun exit code 1 when unknown option

      M bin/stow.in

Tue Jun 11 10:53:28 2019 +0200  Brice Waegeneire <brice.wge@gmail.com>

    * make non docker scripts more portable

      M build-docker.sh
      M test-docker.sh

Tue Jun 11 10:28:25 2019 +0200  Brice Waegeneire <brice.wge@gmail.com>

    * fix dockerfile apt-get lock issue E: Could not open lock file
    /var/cache/apt/archives/lock - open (2: No such file or directory) 
    E: Unable to lock the download directory


      M docker/Dockerfile

Wed Apr 3 09:48:15 2019 -0600  Will Aoki <waoki@umnh.utah.edu>

    * Avoid dereferencing $ENV{HOME} if it is undefined

      M bin/stow.in

Sat Feb 9 17:08:44 2019 +0000  Adam Spiers <github@adamspiers.org>

    * Merge pull request #30 from aspiers/chkstow-stow-dir make chkstow
    honour $STOW_DIR environment variable

Sat Feb 9 17:02:47 2019 +0000  Adam Spiers <stow@adamspiers.org>

    * make chkstow honour $STOW_DIR environment variable Thanks to Matan
    Nassau for reporting this deficiency.


      M THANKS
      M bin/chkstow.in

Sun Feb 11 17:58:33 2018 +0000  Adam Spiers <stow@adamspiers.org>

    * add Jean Louis to THANKS file Forgot to do this in e7e6c7f.


      M THANKS

Sun Feb 11 17:55:40 2018 +0000  Adam Spiers <stow@adamspiers.org>

    * avoid "regex" abbreviation for consistency

      M doc/stow.texi

Sun Feb 11 17:47:06 2018 +0000  Adam Spiers <stow@adamspiers.org>

    * fix erroneous glob examples in --ignore documentation Many thanks to
    Daniel Shahaf for noticing this.

    http://lists.gnu.org/archive/html/bug-stow/2017-07/msg00000.html


      M THANKS
      M doc/stow.texi

Sun Feb 11 11:52:56 2018 +0000  Adam Spiers <stow@adamspiers.org>

    * update aclocal.m4 using aclocal 1.15.1

      M aclocal.m4

Sun Feb 11 11:47:39 2018 +0000  Adam Spiers <stow@adamspiers.org>

    * update the introductory text to clarify Stow's common usage Thanks to
    Jean Louis for some suggestions on this.


      M doc/stow.texi

Sun Mar 19 21:12:46 2017 +0000  Adam Spiers <stow@adamspiers.org>

    * INSTALL.md: document how to build from git (#20) Fixes
    https://github.com/aspiers/stow/issues/20


      M INSTALL.md

Sat Mar 4 14:28:19 2017 +0000  Adam Spiers <stow@adamspiers.org>

    * fix typo in "Deleting Packages" chapter Thanks to Hongyi Zhao for
    spotting this error and reporting it.


      M THANKS
      M doc/stow.texi

Sun Dec 18 23:16:41 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * clarify that ~/.stowrc args don't get processed by a shell Address
    confusion reported here:

      http://lists.gnu.org/archive/html/bug-stow/2016-08/msg00000.html


      M doc/stow.texi

Sun Dec 18 23:14:39 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * replace a "you" typo with better text The contents are prepended to
    the arguments; they still come after the stow executable.


      M doc/stow.texi

Sun Dec 18 23:10:13 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * fix documentation for --verbose It actually goes up to 5 these days. 
    Thanks to Kristoffer Haugsbakk for spotting that:

      http://lists.gnu.org/archive/html/bug-stow/2016-08/msg00000.html


      M THANKS
      M bin/stow.in

Sun Nov 20 22:02:19 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.3.0

      M META.json
      M META.yml
      M configure.ac

Sun Nov 20 21:45:17 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * Prepare NEWS file for 2.3.0 release

      M NEWS

Sun Nov 20 22:16:43 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: use Docker to test before releasing Charles LeDoux did
    some awesome work providing this Docker environment which can test
    across multiple Perl versions using perlbrew, so it would be crazy
    not to use it.


      M doc/HOWTO-RELEASE

Sun Nov 20 22:57:08 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * ignore cover_db generated by Coveralls

      M .gitignore

Sun Nov 20 22:16:10 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * tag Docker images with the corresponding version number

      M build-docker.sh
      M test-docker.sh

Sun Nov 20 22:02:00 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * use PAUSE upload for final validation step of release

      M doc/HOWTO-RELEASE

Sun Nov 20 22:00:46 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * make sure release tags are also pushed to GitHub

      M doc/HOWTO-RELEASE

Sun Nov 20 21:58:31 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * further refine the release process Let's try a new approach where we
    increment the version number immediately after publishing a
    release, not just before.

    This will mean that anyone who builds from git gets a version of
    Stow which is higher than the release which was just cut, and this
    could provide valuable debugging hints in case a bug report does
    not clearly state whether the problem arose with the latest
    release or with a build from git.


      M doc/HOWTO-RELEASE

Sun Nov 20 21:51:41 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * whitespace cleanups

      M doc/HOWTO-RELEASE
      M docker/Dockerfile
      M docker/bootstrap-perls.sh
      M docker/run-stow-tests.sh
      M test-docker.sh

Sun Nov 20 21:18:08 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * THANKS: add some recent contributors

      M THANKS

Sun Nov 20 21:17:46 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * THANKS: clarify mention of Bob Glickstein

      M THANKS

Sun Nov 20 20:55:14 2016 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: add a reminder to update THANKS Make sure the
    maintainer always gives credit to contributors :-)


      M doc/HOWTO-RELEASE

Wed Oct 5 17:47:51 2016 +0100  Adam Spiers <github@adamspiers.org>

    * Merge pull request #17 from jvkersch/enh/dot-files Special processing
    for dotfiles

Sun Jul 31 21:55:55 2016 +0100  Joris Vankerschaver <jvankerschaver@enthought.com>

    * Special processing for dotfiles

      M MANIFEST
      M bin/stow.in
      M lib/Stow.pm.in
      M lib/Stow/Util.pm.in
      A t/dotfiles.t

Sun Sep 25 19:32:08 2016 +0100  Adam Spiers <github@adamspiers.org>

    * Merge pull request #16 from cledoux/feature/docker Added docker files
    for local testing.

Tue Sep 20 18:27:46 2016 +0100  Adam Spiers <stow@adamspiers.org>

    * fix naming of man page The title of the generated man page was ending
    up as something like

      IO::FILE=IO(0XA719C0)(1)

    Also, with newer perls (e.g. v5.22.1), pod2man requires --name if 
    used within a pipeline.

    Closes #18.

    https://github.com/aspiers/stow/issues/18


      M Makefile.am

Tue Aug 23 10:37:12 2016 +0100  Adam Spiers <stow@adamspiers.org>

    * remove superfluous space in function call Be consistent with style
    elsewhere.


      M lib/Stow.pm.in

Tue May 10 15:00:13 2016 -0500  Charles LeDoux <charles.a.ledoux@gmail.com>

    * Add docker files for local testing.
    * Use docker to locally run tests on multiple perl versions
       * perlbrew used to install multiple perls
       * perl environments bootstrapped when image built
    * Based on travis configuration
    * Adds docker folder to MANIFEST.SKIP
    * Running image runs all tests.
       * If exit with no error, then all tests pass.
    * ./build-docker.sh builds stow testing image.
    * ./test-docker.sh runs stow testing image.
       * Assumes built with options in build-docker.sh
    * *-docker.sh scripts added to MANIFEST.SKIP


      M MANIFEST.SKIP
      A build-docker.sh
      A docker/Dockerfile
      A docker/bootstrap-perls.sh
      A docker/run-stow-tests.sh
      A test-docker.sh

Sat Feb 27 12:19:57 2016 -0500  Lucas Theisen <lucastheisen@pastdev.com>

    * fixed testutil to support cygwin which reports -z = true on
    directories

      M t/testutil.pm

Tue Nov 17 17:27:39 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * another attempt to fix automake config d527094b was not the right fix
    - Util.pm was being installed alongside Stow.pm under $(PMDIR). 
    This should be the correct fix.


      M Makefile.am

Tue Nov 17 01:50:27 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add coveralls badge

      M README.md

Tue Nov 17 01:43:38 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add coveralls

      M .travis.yml

Mon Nov 16 22:47:34 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add make distcheck and Module::Build to Travis tests

      M .travis.yml
      M Makefile.am

Mon Nov 16 22:50:58 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add .travis.yml to MANIFEST.SKIP

      M MANIFEST.SKIP

Tue Nov 17 01:34:23 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * fix make distcheck Stow/Util.pm was not being installed correctly


      M Makefile.am

Mon Nov 16 22:39:53 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add Travis CI badge to README.md

      M README.md

Mon Nov 16 22:35:56 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * fix breakage caused by converting files to Markdown

      M MANIFEST
      M Makefile.am
      M configure.ac

Mon Nov 16 22:21:44 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * convert INSTALL to Markdown

      D INSTALL
      A INSTALL.md
      M README.md

Mon Nov 16 22:12:02 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * convert README to Markdown

R076	README	README.md

Mon Nov 16 21:56:45 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * switch to Travis CI containers

      M .travis.yml

Fri Nov 13 14:50:19 2015 +0000  Adam Spiers <github@adamspiers.org>

    * Merge pull request #9 from Gnouc/master Allow directory with trailing
    and leading spaces

Fri Nov 13 11:57:21 2015 +0700  LE Manh Cuong <cuong.manhle.vn@gmail.com>

    * 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.


      M bin/stow.in
      M t/cli_options.t

Fri Nov 13 11:13:06 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * set up Travis CI

      A .travis.yml

Fri Nov 13 12:04:52 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add IO::Scalar to build_requires

      M Build.PL
      M META.json
      M META.yml

Wed Nov 11 12:25:19 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Do more validation on --dir / --target directories (#7) Previously
    STOW_DIR=0 would cause the cwd to be used as the STOW_DIR. Make
    that instead raise an error.  Do similar validation on the target 
    directory.

    Closes #7 - https://github.com/aspiers/stow/pull/7


      M bin/stow.in

Wed Nov 11 11:22:05 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Correctly handle empty STOW_DIR (#5, #6) In shell, a variable is often
    considered unset even if it is set to the empty string.  In other
    words,

      STOW_DIR= stow [args]

    is an idiomatic alternative to writing:

      unset STOW_DIR
     stow [args]

    and it also has the advantage of temporarily "unsetting" STOW_DIR 
    for a single command.

    Therefore we should treat STOW_DIR being set to the empty string 
    as equivalent to it not being set at all.

    Thanks to Cuong Manh Le for highlighting this issue!

    Fixes #6  - https://github.com/aspiers/stow/issues/6 Closes #5 -
    https://github.com/aspiers/stow/pull/5


      M THANKS
      M bin/stow.in

Mon Nov 9 12:37:09 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * More fixes to "make distcheck" As with dc6a141d, the dependency of
    distributed files on non-distributed files was causing this error:

        ERROR: files left in build directory after distclean:

    The automake FAQ explains why this happens:

       
    https://www.gnu.org/software/automake/manual/html_node/Errors-with-distclean.html

    so change the dependency to Makefile.am which is distributed.


      M Makefile.am

Mon Nov 9 11:48:55 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * NEWS: Explain why 2.2.1 was not released

      M NEWS

Mon Nov 9 11:46:50 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.2.2

      M META.json
      M META.yml
      M configure.ac

Mon Nov 9 11:36:11 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * add Stow/Util.pm.in with @VERSION@ substitution This is now necessary
    in order to prevent pause.perl.org from complaining:

        Status: Decreasing version number
       =================================

             module : Stow::Util
            version: undef
            in file: lib/Stow/Util.pm
            status : Not indexed because lib/Stow/Util.pm in
                    A/AS/ASPIERS/Stow-v2.2.0.tar.gz has a higher
    version number
                    (0)


      M .gitignore
      M MANIFEST
      M META.json
      M META.yml
      M Makefile.am
      M NEWS
R099	lib/Stow/Util.pm	lib/Stow/Util.pm.in

Mon Nov 9 11:05:00 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: remove body indent

      M doc/HOWTO-RELEASE

Mon Nov 9 11:04:21 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: add link to official GNU maintainers guide

      M doc/HOWTO-RELEASE

Mon Nov 9 10:13:34 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: encourage use of SemVer

      M doc/HOWTO-RELEASE

Mon Nov 9 10:11:59 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: encourage GPG-signing of release tags

      M doc/HOWTO-RELEASE

Mon Nov 9 10:10:36 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: use gnulib for gendocs instead of texinfo These days it
    seems that gendocs can be done entirely from the templates in
    gnulib, rather than requiring the texinfo repository.


      M doc/HOWTO-RELEASE

Mon Nov 9 10:08:31 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * fix make distcheck The dependency of the distributed file stow.8 on
    the non-distributed file Makefile was causing this error:

        ERROR: files left in build directory after distclean:
       ./doc/stow.8

    The automake FAQ explains why this happens:

       
    https://www.gnu.org/software/automake/manual/html_node/Errors-with-distclean.html

    so change stow.8 to depend on Makefile.am which is distributed.


      M Makefile.am

Mon Nov 9 09:28:11 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * HOWTO-RELEASE: include automake --add-missing This is necessary since
    automake files were removed from the repository recently.


      M doc/HOWTO-RELEASE

Mon Nov 9 09:27:49 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Update META.{yml,json} Rebuilt with newer Module::Build.


      M META.json
      M META.yml

Mon Nov 9 09:17:34 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.2.1

      M configure.ac

Mon Nov 9 09:16:32 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Prepare NEWS file for 2.2.1 release

      M NEWS

Mon Nov 9 09:15:51 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove trailing whitespace from NEWS file

      M NEWS

Mon Sep 17 16:55:17 2012 +0100  Adam Spiers <stow@adamspiers.org>

    * Add more index entries to the manual.

      M doc/stow.texi

Mon Sep 17 16:55:03 2012 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix a typo in the docs.

      M doc/stow.texi

Sat Feb 7 19:29:43 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * substitute @VERSION@ in stow.8 man page Thanks to Yue Du for spotting
    this issue and providing the fix.


      M Makefile.am

Sat Feb 7 19:24:22 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * remove automake files These should be generated at development /
    install-time, rather than distributing versions via git which will
    inevitably age over time.


      A automake/.gitignore
      D automake/install-sh
      D automake/mdate-sh
      D automake/missing

Thu Jan 1 19:02:46 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * fix stowing of relative links when --no-folding is used With a tree
    like this:

        .
       |-- stow
       |   `-- pkg
       |       `-- lib
       |           |-- itk-current -> itk4.0.0
       |           `-- itk4.0.0
       |               `-- libitk4.0.0.so
       `-- target
           `-- lib
               |-- itk4.0.0 -> ../../stow/pkg/lib/itk4.0.0
               `-- libfoo-1.2.3.so

    stowing pkg with the --no-folding option resulted in itk-current 
    being "unpacked":

        .
       `-- target
           `-- lib
               |-- itk-current
               |   `-- libitk4.0.0.so ->
    ../../../stow/pkg/lib/itk-current/libitk4.0.0.so
               |-- itk4.0.0
               |   `-- libitk4.0.0.so ->
    ../../../stow/pkg/lib/itk4.0.0/libitk4.0.0.so
               `-- libfoo-1.2.3.so

    This commit fixes it so that it gets stowed as a symlink:

      .
     `-- target
         `-- lib
             ...
             |-- itk-current -> ../../stow/pkg/lib/itk-current
             ...

    Thanks to Gabriele Balducci for reporting this problem:

        http://thread.gmane.org/gmane.comp.gnu.stow.general/6676


      M lib/Stow.pm.in
      M t/stow.t

Thu Jan 1 19:02:26 2015 +0000  Adam Spiers <stow@adamspiers.org>

    * improve debug

      M lib/Stow.pm.in

Mon Sep 22 00:36:25 2014 +0100  Adam Spiers <stow@adamspiers.org>

    * make it more obvious when target (sub)directory is skipped This should
    avoid the sort of confusion seen in:

      https://github.com/aspiers/shell-env/issues/1


      M lib/Stow.pm.in
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Mon Sep 22 00:40:25 2014 +0100  Adam Spiers <stow@adamspiers.org>

    * trim trailing whitespace

      M t/stow.t

Mon Sep 22 00:14:56 2014 +0100  Adam Spiers <stow@adamspiers.org>

    * update aclocal

      M aclocal.m4

Mon Jun 16 10:22:55 2014 +0100  Adam Spiers <stow@adamspiers.org>

    * avoid precedence warning With Perl 5.20, installing a package with
    stow gives a warning like this:

      Possible precedence issue with control flow operator at
     /gar/packages/stow-2.2.0/lib/perl5/site_perl/5.20.0/Stow.pm line
    1736.

    http://lists.gnu.org/archive/html/bug-stow/2014-06/msg00000.html

    Suggested-by: Adam Sampson <ats@offog.org>


      M lib/Stow.pm.in

Wed Apr 24 08:44:32 2013 +0100  Adam Spiers <stow@adamspiers.org>

    * add TODO for install-hooks

      M TODO

Fri Apr 12 17:47:29 2013 +0100  Adam Spiers <stow@adamspiers.org>

    * correctly handle the stow/target directories as non-canonical paths 
    Fix the case discovered by Hiroyuki Iwatsuki where stowing fails
    if the stow / target directories are non-canonical paths.  For
    example, on FreeBSD /home is a symlink pointing to 'usr/home', so
    running with the stow directory as /home/user/local/stow and the
    target directory as /home/user/local previously resulted in the
    stow directory path being calculated as
    ../../../usr/home/user/local/stow relative to the target.

    http://article.gmane.org/gmane.comp.gnu.stow.bugs/8820


      M lib/Stow.pm.in

Thu Jan 17 12:25:43 2013 +0000  Adam Spiers <stow@adamspiers.org>

    * default-ignore-list: ignore top-level README.*, LICENSE.*, and COPYING 
    These files are by definition specific to a given package, so if
    they exist in the top-level directory, they should not be stowed.


      M default-ignore-list

Mon Jul 9 01:06:13 2012 +0100  Adam Spiers <stow@adamspiers.org>

    * Only include $! in error messages for failed syscalls.

      M lib/Stow.pm.in
      M lib/Stow/Util.pm

Mon Jul 9 01:05:27 2012 +0100  Adam Spiers <stow@adamspiers.org>

    * Fix RT ticket #75349 https://rt.cpan.org/Ticket/Display.html?id=75349


      M bin/stow.in

Wed May 16 11:00:38 2012 +0100  Adam Spiers <stow@adamspiers.org>

    * Bug #36478 - fix Perl warnings from 'require 5.6.1;' 
    https://savannah.gnu.org/bugs/?36478


      M bin/chkstow.in
      M bin/stow.in

Thu Mar 1 11:40:34 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Revamp README.

      M README

Sun Feb 19 19:15:48 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove accidentally duplicated code.

      M t/examples.t

Sun Feb 19 11:54:53 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve docs for path_owned_by_package()

      M lib/Stow.pm.in

Sun Feb 19 01:42:10 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix typo in manual.

      M doc/stow.texi

Sun Feb 19 01:42:04 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a few more items to index.

      M doc/stow.texi

Sat Feb 18 20:43:20 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add boilerplate commit message for web docs update.

      M doc/HOWTO-RELEASE

Sat Feb 18 17:08:19 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.2.0

      M META.json
      M META.yml
      M NEWS
      M configure.ac

Sat Feb 18 20:13:32 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add --no-folding option.

      M NEWS
      M bin/stow.in
      M doc/stow.texi
      M lib/Stow.pm.in
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t

Sat Feb 18 14:20:07 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove -a option for safety reasons (but keep --adopt).

      M NEWS
      M bin/stow.in
      M doc/stow.texi

Sat Feb 18 20:12:14 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve error message when package is not found.

      M NEWS
      M lib/Stow.pm.in

Sat Feb 18 20:19:05 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Use make_invalid_link() to reliably setup symlink fixtures.

      M NEWS
      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/stow.t
      M t/testutil.pm
      M t/unstow.t
      M t/unstow_orig.t

Sat Feb 18 15:47:36 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add documentation improvements to NEWS.

      M NEWS

Sat Feb 18 17:07:15 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Update TODO

      M TODO

Sat Feb 18 20:32:40 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Last known bug was fixed a long time ago :-)

      M doc/stow.texi

Sat Feb 18 15:47:19 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Update structure of manual to match recommended texinfo structure. TOC
    now appears after title page. Copying information is no longer
    duplicated.


      M doc/stow.texi

Sat Feb 18 15:46:14 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix various formatting issues in the manual.

      M doc/stow.texi

Sat Feb 18 15:45:49 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add some more index entries to the manual.

      M doc/stow.texi

Sat Feb 18 15:45:16 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add some @sections to the manual to break larger nodes up.

      M doc/stow.texi

Sat Feb 18 15:17:21 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Use @command / @samp / @env / @var in the manual where appropriate,
    rather than @code.

      M doc/stow.texi

Sat Feb 18 15:03:52 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix formatting of regexp values in the manual.

      M doc/stow.texi

Sat Feb 18 14:15:14 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add --adopt to usage text.

      M bin/stow.in

Sat Feb 18 14:11:33 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve ordering of options in usage text.

      M bin/stow.in

Sat Feb 18 14:08:17 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add missing options to pod, and reference to front-end documentation.

      M lib/Stow.pm.in

Sat Feb 18 14:07:45 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Ignore tmp-testing-trees anywhere.

      M .gitignore
      M MANIFEST.SKIP

Sat Feb 18 12:28:00 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Make shared library tests match real-world scenarios. Typically,
    libfoo.so.X.Y.Z is the file, and libfoo.so is the symlink which
    points to it.


      M t/stow.t

Sat Feb 18 11:53:46 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Include --simulate in usage text.

      M bin/stow.in

Fri Jan 13 11:34:55 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Avoid "Use of uninitialized value" warnings from test suite. Happened
    on some versions of Perl when TEST_VERBOSE not yet. Thanks Adam
    Sampson!


      M lib/Stow.pm.in

Thu Jan 12 17:54:32 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove reference to old FSF address (thank you rpmlint for catching
    this!)

      M bin/stow.in

Wed Jan 11 14:01:40 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove "There are no outstanding operations to perform" warning. This
    is more in keeping with the UNIX convention of no output on
    success, and is also the way Stow v1.x behaved.  Thanks to Adam
    Sampson for the suggestion.


      M NEWS
      M THANKS
      M lib/Stow.pm.in
      M t/stow.t
      M t/unstow.t
      M t/unstow_orig.t

Tue Jan 10 12:17:58 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix wrong version number in NEWS.

      M NEWS

Mon Jan 9 21:39:35 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.1.3

      M META.json
      M META.yml
      M NEWS
      M configure.ac

Mon Jan 9 21:32:31 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename test files to reflect their purpose.

      M MANIFEST
R099	t/stow_contents.t	t/stow.t
R099	t/unstow_contents.t	t/unstow.t
R099	t/unstow_contents_orig.t	t/unstow_orig.t

Mon Jan 9 21:31:46 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename stow.t to be more consistent with its purpose.

      M MANIFEST
R098	t/stow.t	t/cli_options.t

Mon Jan 9 22:10:19 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * perl Build.PL needs a prefix during testing

      M doc/HOWTO-RELEASE

Mon Jan 9 21:25:35 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add --adopt / -a option.

      M NEWS
      M bin/stow.in
      M doc/stow.texi
      M lib/Stow.pm.in
      M lib/Stow/Util.pm
      M t/stow_contents.t
      M t/testutil.pm

Mon Jan 9 21:11:58 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Add stacktrace to internal error report to aid debugging.

      M lib/Stow.pm.in

Mon Jan 9 18:32:06 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Use get_conflict_count() in tests since get_conflicts() no longer
    returns a flat structure.

      M t/cleanup_invalid_links.t
      M t/examples.t
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Mon Jan 9 17:52:11 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Link to website to encourage users to report bugs.

      M lib/Stow.pm.in

Mon Jan 9 16:42:40 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve readability of NEWS file when viewed raw.

      M NEWS

Mon Jan 9 16:25:27 2012 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve existing comments.

      M lib/Stow.pm.in

Wed Dec 21 11:45:59 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve the footnote which defines 'subpath'.

      M doc/stow.texi

Wed Dec 21 11:45:43 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add another ignore example to the manual and test suite.

      M doc/stow.texi
      M t/ignore.t

Thu Dec 15 21:14:07 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix some incorrect CPAN meta-data about the project.

      M Build.PL
      M META.json
      M META.yml

Tue Dec 13 16:12:29 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Make configure check for Perl modules required by test suite.

      M NEWS
      M configure.ac

Sun Dec 11 13:23:37 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Make stow script return true for t/stow.t According to
    http://matrix.cpantesters.org/?dist=Stow this only seems to be an
    issue with Perl <= 5.8.7.


      M bin/stow.in

Sun Dec 11 13:12:32 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Automate check for 'use lib' line in bin/stow.

      M Build.PL
      M doc/HOWTO-RELEASE

Tue Dec 6 18:30:28 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.1.2.

      M META.json
      M META.yml
      M configure.ac

Wed Dec 7 20:28:28 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Significantly improve the handling of --with-pmdir.

      M INSTALL
      M Makefile.am
      M NEWS
      M bin/stow.in
      M configure.ac
      M doc/HOWTO-RELEASE

Wed Dec 7 01:20:07 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Make capitalisation consistent in usage text.

      M bin/stow.in

Wed Dec 7 20:31:18 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Abort ./configure if we can't find Perl.

      M NEWS
      M configure.ac

Wed Dec 7 01:23:41 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Ensure the ChangeLog is up-to-date when making a new distribution. 
    Thanks to Stefano Lattarini for this suggestion.


      M Makefile.am
      M NEWS
      M doc/HOWTO-RELEASE

Wed Dec 7 00:38:16 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Use maintainer-clean-local rule, not maintainer-clean.

      M Makefile.am

Tue Dec 6 18:20:03 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * `make clean' shouldn't remove files which the user may not be able to
    rebuild.

      M Makefile.am

Tue Dec 6 10:35:31 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.1.1

      M META.json
      M META.yml
      M NEWS
      M configure.ac

Tue Dec 6 17:33:41 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Ignore .mrdownload files from my `download' plugin to Joey Hess' mr
    utility.

      M MANIFEST.SKIP

Tue Dec 6 17:30:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a workaround for not being able to ensure that git commit triggers
    ChangeLog update.

      M doc/HOWTO-RELEASE

Tue Dec 6 17:24:44 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Show when ChangeLog is rebuilt.

      M Makefile.am

Tue Dec 6 17:22:21 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix release instructions regarding CPAN distribution.

      M doc/HOWTO-RELEASE

Tue Dec 6 17:08:21 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Refill paragraph in README.

      M README

Tue Dec 6 17:08:13 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Don't duplicate information from INSTALL.

      M README

Tue Dec 6 17:07:29 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Document installation via Module::Build.

      M INSTALL

Tue Dec 6 17:06:59 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Document prerequisites for installation.

      M INSTALL

Tue Dec 6 17:04:50 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * chkstow was missing from Module::Build install.

      M Build.PL

Tue Dec 6 17:04:37 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * File::Slurp is no longer used.

      M Build.PL
      M META.json
      M META.yml

Tue Dec 6 16:20:52 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix automake issues (thanks to Stefano Lattarini for spotting these!)

      M Build.PL
      M Makefile.am
      M NEWS
      M THANKS

Tue Dec 6 16:47:32 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add $(PDF) and $(HTML) variables.

      M Makefile.am

Tue Dec 6 16:39:57 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add *.orig to MANIFEST.SKIP.

      M MANIFEST.SKIP

Tue Dec 6 15:57:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Ditch deprecated AM_MAINTAINER_MODE.

      M aclocal.m4
      M configure.ac

Tue Dec 6 15:56:43 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add licensing changes to TODO.

      M TODO

Tue Dec 6 15:41:33 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add bug-reporting email address and a couple of URLs to usage text to
    comply with GNU Coding Standards for --help option.

      M bin/stow.in

Tue Dec 6 15:57:20 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Calculated the correct default value for pmdir based on the local Perl
    installation.

      M NEWS
      M configure.ac

Tue Dec 6 10:33:34 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fixed bug where --with-pmdir was ineffectual.

      M Makefile.am
      M NEWS
      M configure.ac

Sun Dec 4 14:57:34 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Change @dircategory to `System administration' as suggested by Karl
    Berry.

      M doc/stow.texi

Sat Dec 3 18:13:09 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add git push and update of online documentation to HOWTO-RELEASE.

      M doc/HOWTO-RELEASE

Sat Dec 3 17:51:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Release announcements should go to stow-devel too.

      M doc/HOWTO-RELEASE

Sat Dec 3 17:51:44 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix error in gnupload command-line.

      M doc/HOWTO-RELEASE

Sat Dec 3 17:09:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a missing space.

      M AUTHORS

Sat Dec 3 16:40:20 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a missing hyperlink to the Stow homepage.

      M doc/stow.texi

Sat Dec 3 14:03:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Give up on automake's built-in rules for generating PDF and HTML and
    use our own. Also include split version of the manual.

      M .gitignore
      M MANIFEST
      M MANIFEST.SKIP
      M Makefile.am
      M NEWS

Sat Dec 3 02:07:19 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Update reference to maintainer.

      M AUTHORS
      M README
      M doc/stow.texi

Sat Dec 3 01:30:08 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Temporarily remove PDF from dist_doc_DATA due to automake issue. 
    http://article.gmane.org/gmane.comp.sysutils.automake.general/13192

    This means that it is still included in the distribution and 
    installed, but is only automatically (re)built when making a new
    distribution - if stow.texi changes during development, it has to
    be rebuilt manually via 'make pdf'.


      M MANIFEST
      M MANIFEST.SKIP
      M Makefile.am

Sat Dec 3 00:54:05 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Module::Build generates archive files with 'v' for version

      M MANIFEST.SKIP

Fri Dec 2 14:55:44 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add TODOs for .rpm and .deb support.

      M TODO

Thu Dec 1 18:03:16 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add doc/version.texi to distribution.

      M Makefile.am

Thu Dec 1 17:25:24 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Switch to renaming to manual via install hook as suggested by Stefano
    Lattarini 
    http://article.gmane.org/gmane.comp.sysutils.automake.general/13191


      M MANIFEST
      M MANIFEST.SKIP
      M Makefile.am

Thu Dec 1 16:23:04 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix corner case where only -d is specified as a single directory.

      M bin/stow.in

Mon Nov 28 23:20:14 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add result of ./Build dist to .gitignore

      M .gitignore

Mon Nov 28 23:18:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Synchronise CPAN MANIFEST files with automake distribution list.

      M MANIFEST
      M MANIFEST.SKIP

Mon Nov 28 23:18:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Ignore split page version of HTML manual.

      M .gitignore

Mon Nov 28 23:17:50 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Don't duplicate stow.texi to manual.texi.

      M MANIFEST
      M MANIFEST.SKIP
      M Makefile.am

Sat Nov 26 18:55:10 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve debug levels.

      M lib/Stow.pm.in
      M lib/Stow/Util.pm

Sat Nov 26 18:24:35 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a TODO concerning .nonstow.

      M TODO

Sat Nov 26 18:15:26 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add HOWTO-RELEASE

      A doc/HOWTO-RELEASE

Thu Nov 24 01:27:41 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add NEWS entry for 2.1.0

      M NEWS

Thu Nov 24 00:26:50 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Bump version to 2.1.0

      M META.json
      M META.yml
      M configure.ac

Fri Nov 25 15:23:08 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix documentation regarding splitting of symlinks across multiple stow
    directories.

      M doc/stow.texi
      M lib/Stow.pm.in

Fri Nov 25 15:14:07 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Tidy up chkstow code and documentation.

      M bin/chkstow.in
      M doc/stow.texi

Fri Nov 25 15:03:46 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add chkstow to NEWS

      M NEWS

Fri Nov 25 14:45:28 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add comment to manual about test_examples_in_manual() in t/ignore.t.

      M doc/stow.texi

Sat Nov 26 16:32:25 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove quote stripping code. I'm guessing it was added due to a
    misunderstanding of how shell quoting works.  When you invoke

       stow --ignore=".#.*" ...

    the shell strips out the quotes before the Perl process ever sees
    them. I can't imagine any sensible scenario in which you would
    need to invoke

       stow --ignore='"foo"'

    but if the user has a filename containing quotes at the beginning
    and end, they can now choose to ignore it (prior to this patch,
    they couldn't).


      M bin/stow.in
      M t/stow.t

Thu Nov 24 22:49:22 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve conflict reporting

      M bin/stow.in
      M lib/Stow.pm.in
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 24 18:05:57 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Sync up .gitignore and MANIFEST* with recent changes.

      M .gitignore
      M MANIFEST
      M MANIFEST.SKIP

Thu Nov 24 20:47:39 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Ditch obsolete --conflicts option and update misleading documentation.

      M bin/stow.in
      M doc/stow.texi
      M lib/Stow.pm.in

Thu Nov 24 17:00:33 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Auto-generate ChangeLog from git

      M .gitignore
      M Makefile.am
R099	ChangeLog	doc/ChangeLog.OLD

Thu Nov 24 16:59:45 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Sort .gitignore alphabetically

      M .gitignore

Thu Nov 24 16:59:26 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add some missing stuff to .gitignore

      M .gitignore

Thu Nov 24 16:22:11 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Distribute .tar.gz and .tar.bz2 but not .shar.gz

      M Makefile.am
      M configure.ac

Thu Nov 24 16:32:01 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Numerous fixes so that `make distcheck' succeeds. Moves temporary test
    trees into a separate directory.

      M .gitignore
      M Makefile.am
      M configure.ac
      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/defer.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/ignore.t
      M t/stow.t
      M t/stow_contents.t
      M t/testutil.pm
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 24 00:45:29 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Strip superfluous quotes from $hash{'lookups'}

      M bin/stow.in
      M lib/Stow.pm.in
      M t/chkstow.t
      M t/stow.t

Thu Nov 24 17:15:02 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Tidy up the copyright attributions in the manual.

      M doc/stow.texi

Thu Nov 24 17:14:51 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix some minor issues in the manual.

      M doc/stow.texi

Thu Nov 24 17:33:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add HTML and PDF versions of manual to distribution.

      M .gitignore
      M Makefile.am

Wed Nov 23 23:45:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add support for ignore lists.

      M AUTHORS
      M Makefile.am
      M TODO
      A default-ignore-list
      M doc/stow.texi
      M lib/Stow.pm.in
      M lib/Stow/Util.pm
      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      A t/ignore.t
      M t/stow.t
      M t/stow_contents.t
      M t/testutil.pm
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Tue Nov 22 15:59:07 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename $old_* to $existing_*

      M lib/Stow.pm.in

Tue Nov 22 15:50:12 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename protected_dir() to marked_stow_dir().

      M lib/Stow.pm.in

Tue Nov 22 15:48:08 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Rename should_skip_stow_dir_target() to
    should_skip_target_which_is_stow_dir()

      M lib/Stow.pm.in

Tue Nov 22 15:46:05 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Be clearer when we're not actually (un)stowing, just planning.

      M lib/Stow.pm.in

Tue Nov 22 14:29:52 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add another test to join_paths.t

      M t/join_paths.t

Tue Nov 22 14:29:42 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Clean up coding style in tests

      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/find_stowed_path.t
      M t/join_paths.t
      M t/parent.t

Tue Nov 22 14:28:37 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Avoid use of map in void context

      M bin/stow.in

Mon Nov 21 23:24:02 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a comment about a relative weakness of compat mode.

      M lib/Stow.pm.in

Mon Nov 21 23:23:43 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Test stow/unstow with stow dir / target dir as absolute paths.

      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Mon Nov 21 23:21:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix more inconsistencies in coding style.

      M lib/Stow.pm.in

Mon Nov 21 23:15:47 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix typos

      M lib/Stow.pm.in

Mon Nov 21 22:08:52 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix/remove some outdated TODOs

      M TODO

Mon Nov 21 18:04:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add build-time dependencies on Test::More and Test::Output.

      M Build.PL
      M META.json
      M META.yml
      M TODO

Mon Nov 21 14:48:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add MYMETA.* to .gitignore

      M .gitignore

Mon Nov 21 14:46:27 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add .dirstamp and stamp-vti to .gitignore

      M .gitignore

Thu Nov 24 16:52:50 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Convert man page to POD format which is easier to maintain within
    stow.in.

      M .gitignore
      M Makefile.am
      M bin/stow.in
      D doc/stow.8

Mon Nov 21 13:59:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Reorganise more files into subdirectories and add CPAN support via
    Module::Build

      A Build.PL
      A MANIFEST
      A MANIFEST.SKIP
      A META.json
      A META.yml
      M Makefile.am
R100	install-sh	automake/install-sh
R100	mdate-sh	automake/mdate-sh
R100	missing	automake/missing
R091	chkstow.in	bin/chkstow.in
R096	stow.in	bin/stow.in
      M configure.ac
R099	stow.8	doc/stow.8
R099	stow.texi	doc/stow.texi
R099	texinfo.tex	doc/texinfo.tex

Mon Nov 21 14:07:39 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add myself (Adam) to AUTHORS and THANKS ;-)

      M AUTHORS
      M THANKS

Thu Nov 24 16:28:09 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Major refactoring of code into separate Stow and Stow::Util Perl
    modules

      M .gitignore
      M Makefile.am
      M TODO
      M configure.ac
      A lib/Stow.pm.in
      A lib/Stow/Util.pm
      M stow.in
      M t/chkstow.t
      M t/cleanup_invalid_links.t
      M t/defer.t
      M t/examples.t
      M t/find_stowed_path.t
      M t/foldable.t
      M t/join_paths.t
      M t/parent.t
      M t/stow.t
      M t/stow_contents.t
R083	t/util.pm	t/testutil.pm
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Fri Nov 18 15:09:39 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix indentation in Makefile.am

      M Makefile.am

Fri Nov 18 11:24:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Test unstowing when target contains a real file generates a conflict.

      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 17 20:11:06 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Test unstowing stuff which doesn't exist in the target tree.

      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 17 20:11:32 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a missing conflict if we tried to unstow a file in compat mode.

      M stow.in

Fri Nov 18 12:00:05 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove setting of verbosity from tests

      M t/cleanup_invalid_links.t
      M t/examples.t
      M t/foldable.t
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Fri Nov 18 11:14:50 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Make 'verbose' option default to 0 in testmode.

      M stow.in

Fri Nov 18 10:48:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add protection against stowing into stow dirs

      M stow.in
      M t/stow_contents.t

Fri Nov 18 10:34:23 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Debug stow dir in stow/unstow contents routines

      M stow.in

Fri Nov 18 10:33:08 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Trace individual cases separately when skipping stow dirs during
    unstow.

      M stow.in

Fri Nov 18 10:29:15 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Allow TEST_VERBOSE to control level of verbosity. Defaults to 3. 
    'verbose' option now has precedence if set.

      M stow.in

Thu Nov 17 20:32:48 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Debug when skipping over stow directories

      M stow.in

Thu Nov 17 20:10:42 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add debug when target to be unstowed doesn't exist

      M stow.in

Thu Nov 17 20:09:42 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add comments justifying is_a_node($target) check in unstow_contents().

      M stow.in

Thu Nov 17 19:33:09 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Test unstowing an already unstowed package

      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 17 19:10:02 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix incorrect comments.

      M stow.in

Thu Nov 17 19:04:10 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Sync t/unstow_contents{,_orig}.t

      M t/unstow_contents_orig.t

Thu Nov 17 18:46:32 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Debug with maximum verbosity to STDOUT when running tests.

      M stow.in
      M t/util.pm

Thu Nov 17 18:46:13 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Refactored reset_state() into t/util.pm

      M t/cleanup_invalid_links.t
      M t/examples.t
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t
      M t/util.pm

Thu Nov 17 18:24:53 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Refactored is_a_{link,dir,node}() code.

      M stow.in

Thu Nov 17 17:23:04 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve tree splitting comments.

      M stow.in

Thu Nov 17 16:39:02 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Don't tolerate '' as value for $target parameter to (un)stow_contents

      M stow.in
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Thu Nov 17 16:37:37 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add debug tracing to helper routines

      M stow.in

Thu Nov 17 16:35:57 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix Parameters comments.

      M stow.in

Thu Nov 17 19:47:20 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Improve debug output

      M stow.in

Thu Nov 17 15:32:51 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Clarify meaning of `--defer' in the manual.

      M stow.texi

Thu Nov 17 15:22:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Finish "Deferred Operation" section in manual.

      M TODO
      M stow.texi

Thu Nov 17 14:17:24 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix inconsistencies in coding style.

      M stow.in
      M t/util.pm

Thu Nov 17 14:12:14 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Set cperl-indent-level to 4

      M stow.in

Thu Nov 17 14:12:12 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Simplify GetOptions() code

      M stow.in

Thu Nov 17 13:26:04 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Refactor verbosity-controlled output to STDERR into debug()
    subroutine.

      M stow.in

Thu Nov 17 12:45:36 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix broken 'make install' due to man page being duplicated in
    install-man8 target

      M Makefile.am

Wed Nov 16 16:52:03 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Stow directory now defaults to STOW_DIR environment variable if set.

      M ChangeLog
      M stow.8
      M stow.in
      M stow.texi

Wed Nov 16 15:57:17 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Use File::Spec->abs2rel() instead of home-grown relative_path which
    actually gets some inputs wrong (e.g. "/" relative to "/")

      M Makefile.am
      M stow.in
      D t/relative_path.t

Wed Nov 16 15:51:54 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add a bunch of stuff to the TODO

      M TODO

Wed Nov 16 15:42:42 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add FIXME for Deferred Operation section in manual.

      M TODO
      M stow.texi

Wed Nov 16 15:40:46 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix indentation issues in NEWS

      M NEWS

Wed Nov 16 15:38:47 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Switch NEWS and TODO to org-mode. org-mode has been included in emacs
    by default for a long time and is much more friendly than
    outline-mode.  No impact to non-emacs users.


      M NEWS
      M TODO

Wed Nov 16 15:22:12 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Stow now requires Perl 5.6.1 or newer, due to use of 'our'.

      M README
      M chkstow.in
      M stow.in

Wed Nov 16 15:20:21 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Troy is the maintainer now.

      M AUTHORS
      M README
      M TODO
      M stow.texi

Wed Nov 16 14:59:58 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix typos

      M AUTHORS
      M TODO
      M stow.in
      M stow.texi
      M t/relative_path.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Wed Nov 16 15:16:53 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Catch warnings in tests when no outstanding operations to perform.
    Tests now all pass completely cleanly.

      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Wed Nov 16 15:07:26 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix %Options typo in several tests

      M t/cleanup_invalid_links.t
      M t/examples.t
      M t/stow_contents.t
      M t/unstow_contents.t
      M t/unstow_contents_orig.t

Wed Nov 16 15:04:21 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix t/stow.t

      M t/stow.t

Wed Nov 16 14:51:38 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix chkstow.t

      M chkstow.in
      M t/chkstow.t

Wed Nov 16 14:46:31 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add #! header to t/util.pm for benefit of editor mode selection

      M t/util.pm

Wed Nov 16 14:45:56 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Fix chkstow.in for emacs users

      M chkstow.in

Wed Nov 16 14:34:02 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Support ./configure --disable-maintainer-mode to optionally avoid
    auto-reconfiguring on make.

      M aclocal.m4
      M configure.ac

Wed Nov 16 14:31:32 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Run autoreconf with more recent GNU autotools.

      M aclocal.m4

Wed Nov 16 14:30:55 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add test target to Makefile

      M Makefile.am

Thu Nov 24 16:55:43 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Remove auto-generated files from git.

      M .gitignore
      D Makefile.in
      D configure
      D stamp-vti
      D stow.info
      D version.texi

Wed Nov 16 14:30:39 2011 +0000  Adam Spiers <stow@adamspiers.org>

    * Add .gitignore

      A .gitignore

Sun Apr 12 23:04:33 2009 -0700  Troy Will <troydwill@gmail.com>

    * made numeric argument to --verbose optional

      M stow.in

Sun Apr 12 21:59:24 2009 -0700  Troy Will <troydwill@gmail.com>

    * Remove stow, config.status, config.log, Makefile

      D Makefile
      D config.log
      D config.status
      D stow
Thu Jan 31 2008  Kahlil Hodgson  <kal@grebo.cs.rmit.edu.au>

	* stow.texi: Austin Wood and Chris Hoobin clean this up for version 2.

	* texi2man: new script by Austin and Chris to generate a man page from the
	texinfo file.


Sun Nov 25 19:31:32 2007  Kahlil Hodgson <kahlil@internode.con.net>
	* all: Version 2.0.1

	* AUTHORS: added Kahlil Hodgson as a new author and current maintainer.

	* stow.in: major rewrite to produce version 2.0.1 see NEWS for details
	
	* t/: added test suite and support code
	
	* configure.in: renamed to configure.ac as per autotools recommendation.

	* configure.ac: 
	Use AC_INT rather than obsolete AM_INTI_MAKEFILE usage.
	Remove redundant VERSION and PACKAGE setttings
	Remove redundant AC_ARG_PROGRAM
	Use AM_INIT_AUTOMAKE([-Wall -Werror]) because we are pedantic.
	Add AC_PREREQ([2.6.1])
	
	* Makefile.am, configure.ac: 
	Use explicit rewrite in Makefile.am, rather than AC_CONFIG_FILES(stow.in),
	as per autotools recommendation.

	* Makefile.am: 
	Add TESTS and TEST_ENVIRONMENT for files in t/
	Use dist_man_MANS instead of EXTRA_DIST for man page 

	* INSTALL: update to reflect autotools modernization.

	* NEWS: update to describe cahnges in Version 2.0.1.

	* README: update to point to the right websites and email addresses.
	
	* THANKS: 
	Add Emil Mikulc who's ideas largely inspired Version 2 and 
	and Geoffrey Giesemann who did some initial testing and found some
	important bugs.

	* TODO: remove tasks that where implemented in Version 2

	* stow.texi: update documentation to reflect Version 2 changes.
	
	* stow.8: update to reflect Version 2 changes.

Sat Jan 26 16:15:21 2002  Guillaume Morin  <gmorin@gnu.org>

    * stow.in: if $ENV{'STOW_DIR'} is set, this becomes the default
      Stow directory.

Sun Jan 06 12:18:50 2002  Guillaume Morin  <gmorin@gnu.org>

    * Makefile.am: use EXTRA_DIST to include manpage in distribution

Wed Jan 02 21:33:41 2002  Guillaume Morin  <gmorin@gnu.org>

    * stow.in: Stow now only warns the user if a subdirectory
      is unreadable during unstowing.

Wed Jan 02 20:58:05 2002  Guillaume Morin  <gmorin@gnu.org>

    * stow.in: fixed JoinPaths so that subdirs called "0" are
      correctly pushed. Thanks a lot to Gergely Nagy
      <algernon@bonehunter.rulez.org> who patiently helped me to chase 
      this bug.

Sun Dec 30 21:58:25 2001  Guillaume Morin  <gmorin@gnu.org>

    * stow.in: fixed a bug introduced by previous changes when
      Target argument was relative. (thanks to Luca Filipozzi
      <lfilipoz@debian.org> for pointing this out)
	   
Sun Dec 30 18:23:25 2001  Guillaume Morin  <gmorin@gnu.org>

    * stow.in: now requires Perl 5. Use POSIX getcwd instead of broken
      fastcwd. Fixed bug when CommonParent is /. Stow does not remove
      initially empty directories anymore.
	
Sun Dec 30 18:07:51 2001  Guillaume Morin  <gmorin@gnu.org>

    * configure.in: automake fixes (fp_ -> AC, +AC_INIT_AUTOMAKE)

Fri Oct 11 22:09:45 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* stow.html, configure.in: Version 1.3.2.

	* README, stow.texi: Correct the URL again.

Fri Oct 11 18:20:42 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* configure.in: Version 1.3.1.

	* stow.html: Update Stow manual URL.  Mention version 1.3.1.

	* README: Update Stow URL.

	* Makefile.am: stow-manual.html -> manual.html.

	* stow.texi:
	Add a reference to the Stow home page on the GNU web server.  Change
	several occurrences of "which" to "that" for grammatical superiority.

Wed Oct  9 00:34:07 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* Makefile.am:
	Add maintainer-only rules for stow-manual.html and stow-manual.texi.

Wed Oct  9 00:32:31 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* README: Refer to the new location for the Stow home page.

	* stow.html: Make it right for the GNU web server.

Tue Oct  8 21:54:09 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* stow.texi: Document --restow

	* stow.in: Add --restow (-R) option

	* configure.in: Add "perl4" to search for Perl binary.
	Bump version number to 1.3.

Mon Jun 24 23:23:03 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* stow.texi: Delete trailing whitespace.

Fri Jun 21 19:44:26 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* Makefile.am:
	Don't explicitly mention version.texi.  Automake now does it
 	automagically, by noticing the `@include version.texi' in
 	stow.texi.  Awesome.

	* stow.texi:
	Use @include instead of @input.  This is more Texinfoid, plus
	allows Automake to automatically deduce the need for
	version.texi.

	* stow.in:
	Elide trailing slashes from package names, then complain if
	package names have slashes in them.

Tue Jun 18 23:19:04 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* README: Call it "Gnu Stow".

Tue Jun 18 22:15:45 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* configure.in:
	Bump version number to 1.2.

	Look for Perl under the names `perl' and `perl5'.  If not found,
	print a warning.

	* stow.texi:
	Add a section about bootstrapping.  Add text about hacking Gnu
	Make output.

	* INSTALL:
	Describe what happens when Perl isn't found during `configure'.

Mon Jun 17 19:43:25 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* THANKS: Thank Fritz.

Fri Jun 14 19:18:50 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* AUTHORS: Credit John Bazik and Gord Matzigkeit.

	* stow.texi: Remove a "known bug" -- the pwd dependency is gone.

	* stow.in:
	Use fastcwd, from fastcwd.pl (which is GPL'd), to remove
 	dependency on an external pwd binary.  Suggested by Gord
	Matzigkeit.

	* stow.in: Add a missing comma.

Thu Jun 13 21:52:10 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* stow.in:
	Change three occurrences of `my' to `local' for Perl 4
	compatibility.

Thu Jun 13 18:07:37 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* configure.in: Bump version number to 1.1.

	* Makefile.am:
	Add `stow' to the list of clean targets.  Don't redirect output
 	directly into a make target.

	* AUTHORS, README:
	Use <bobg+stow@zanshin.com> as the contact address.

	* TODO: New file.

	* stow.in:
	Refer to "Gnu Stow" in a few places.  Use <bobg+stow@zanshin.com>
 	as the contact address.  Handle long and short options.  Handle
 	`version' and `help' options.  Refer to "packages," not
 	"collections," for consistency with the manual.

	* stow.texi:
	Refer to "Gnu Stow" in a few places.  Use <bobg+stow@zanshin.com>
 	as the contact address.  Add sections on Reporting bugs and Known
 	bugs.  Create a master menu.  Minor rewording.  Remove the period
 	from a node name.

	* TODO, THANKS: New files.

Mon Jun 10 14:44:13 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* NEWS: Create NEWS file for release.  1.0 now ready.

	* stow.texi: Big revisions in preparation for release.

Sun Jun  9 15:47:19 1996  Bob Glickstein  <bobg@zoger.ipost.com>

	* stow.in: Enhance argument parsing, losing Perl 4 support in the
	process.
	(later) Perl 4 support restored.

Fri Jun  7 12:13:33 1996  Bob Glickstein  <bobg@hiro.zanshin.com>

	* Created stow, formerly "depot."