Sun Sep 8 19:17:26 2024 +0100 Adam Spiers * Dockerfile: fix whitespace inconsistencies We don't use hard tabs. M docker/Dockerfile Sun Sep 8 19:05:42 2024 +0100 Adam Spiers * Merge pull request #116 from aspiers/fix-dot-ignore Sun Sep 8 13:05:16 2024 +0100 Adam Spiers * ignore based on package dirent name prior to dot- adjustment If `--dotfiles` was enabled, files in the package such as `dot-gitignore` would be translated to `.gitignore` and then ignored by the default ignore list. However any file named `dot-*` in a package is obviously intended to be stowed as a dot file, so should not be ignored. To fix this, ignore based on the name in the package, not the potentially translated name used for stowing. M NEWS M doc/stow.texi M lib/Stow.pm.in M t/dotfiles.t Sun Sep 8 12:47:54 2024 +0100 Adam Spiers * extract setup_package_ignore() into testutil.pm M t/ignore.t M t/testutil.pm Sun Sep 8 12:43:46 2024 +0100 Adam Spiers * extract setup_global_ignore() into testutil.pm M t/ignore.t M t/testutil.pm Sun Sep 8 18:56:03 2024 +0100 Adam Spiers * Merge pull request #117 from aspiers/optional-pdf-build Sun Sep 8 14:51:58 2024 +0100 Adam Spiers * make build of PDF optional to avoid LaTeX dependency Fixes #95. M INSTALL.md M Makefile.am M NEWS M doc/HOWTO-RELEASE Sun Sep 8 15:09:30 2024 +0100 Adam Spiers * INSTALL.md: move clean-up to a separate section It's not part of the install process. M INSTALL.md Sun Sep 8 14:52:49 2024 +0100 Adam Spiers * update to autoconf 2.72 M aclocal.m4 Sun Sep 8 16:23:35 2024 +0100 Adam Spiers * NEWS: add other items since v2.4.0 M NEWS Sun Sep 8 13:28:45 2024 +0100 Adam Spiers * NEWS: add entry for ternary precedence fix for Perl 5.40 This is the NEWS entry for #113. M NEWS Sat Jul 13 17:07:02 2024 +0100 Adam Spiers * Merge pull request #114 from aspiers/perl-5.40 Sat Jul 13 17:04:03 2024 +0100 Adam Spiers * ci: add Perl 5.40 to GitHub CI test matrix M .github/workflows/test.yml Fri Jul 12 00:02:23 2024 +0100 Adam Spiers * Merge pull request #113 from wfrisch/2024-07-avoid_precedence_warning avoid precedence warning Thu Jul 11 09:48:46 2024 +0200 Wolfgang Frisch * avoid precedence warning Perl 5.40.0 extended the scope of the precedence warning to include ternary operators. Reported-By: Peter Sütterlin M bin/stow.in Tue Jun 18 18:46:45 2024 +0100 Adam Spiers * Merge pull request #111 from jeremy-code/master Sat Jun 15 13:03:07 2024 +0100 Adam Spiers * Fix parsing of regexp options like --override=bin|man Previously the \A and \z anchoring for --ignore / --override / --defer was being applied without wrapping the user-specified regexp in parentheses, so if it was something like bin|man then the anchor would only apply to one half of those two paths. So add parentheses, and also change from qr() to qr{} syntax to visually differentiate between regexp boundaries and parentheses inside the regexp. M bin/stow.in M t/cli_options.t M t/rc_options.t Fri Jun 14 16:20:41 2024 -0700 Jeremy Nguyen * Use `shellwords` for `.stowrc` parsing - Use `shellwords` to parse `.stowrc` files from `Text::ParseWords` - Add test for `.stowrc` parsing with quotes - Add `stow directory` to `tmp-testing-trees` for testing This change allows `.stowrc` arguments to be parsed similar to shell arguments, where quotes can be used to group an argument with spaces. However, this change affects the behavior in --ignore, --defer, --override. (?^:$HOME\z) (?^:\A$HOME) (?^:\A$HOME) M bin/stow.in M doc/stow.texi M t/rc_options.t M t/testutil.pm Mon Apr 8 00:40:23 2024 +0100 Adam Spiers * Merge pull request #99 from gutierri/patch/fixs-yes-apt Sun Sep 18 03:13:56 2022 -0300 Gutierri Barboza * fix dockerfile apt-get without force-yes M docker/Dockerfile Mon Apr 8 00:16:02 2024 +0100 Adam Spiers * Bump version to 2.4.1 for development of next release M META.json M META.yml M configure.ac Mon Apr 8 00:13:57 2024 +0100 Adam Spiers * HOWTO-RELEASE: fix previously missed rename from distclean 3aae830e changed the procedure from distclean to maintainer-clean, but missed changing this final detail. M doc/HOWTO-RELEASE Sun Apr 7 23:10:08 2024 +0100 Adam Spiers * HOWTO-RELEASE: add reminder to add/remove manual files in CVS M doc/HOWTO-RELEASE Sun Apr 7 22:37:22 2024 +0100 Adam Spiers * HOWTO-RELEASE: suggest using gnupload --dry-run first M doc/HOWTO-RELEASE Sun Apr 7 20:09:43 2024 +0100 Adam Spiers * HOWTO-RELEASE: add link to gnupload docs M doc/HOWTO-RELEASE Sun Apr 7 18:55:18 2024 +0100 Adam Spiers * Merge pull request #108 from aspiers/release-v2.4.0 Sun Apr 7 18:54:44 2024 +0100 Adam Spiers * Merge pull request #97 from ilyagr/patch-1 Sun Apr 7 18:38:12 2024 +0100 Adam Spiers * Rebuild META.* M META.json M META.yml Sun Apr 7 18:34:35 2024 +0100 Adam Spiers * HOWTO-RELEASE: THANKS is no longer being updated M doc/HOWTO-RELEASE Sun Apr 7 18:32:51 2024 +0100 Adam Spiers * Update NEWS for v2.4.0 M NEWS Sun Apr 7 18:24:49 2024 +0100 Adam Spiers * 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 * 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: 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 * Merge pull request #107 from aspiers/improve-dotfiles-fix Sun Apr 7 17:44:44 2024 +0100 Adam Spiers * 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 * t/unstow.t: remove superfluous spaces M t/unstow.t Sun Apr 7 17:19:37 2024 +0100 Adam Spiers * 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 * 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_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 * 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 * 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 * 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 * 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 * allow playground/ directory for testing stuff M .gitignore M CONTRIBUTING.md M MANIFEST.SKIP Sun Apr 7 14:08:59 2024 +0100 Adam Spiers * tidy up MANIFEST.SKIP M MANIFEST.SKIP Sun Apr 7 13:08:27 2024 +0100 Adam Spiers * 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 * Fix Dockerfile by updating from jessie to bookworm M docker/Dockerfile Sat Apr 6 15:37:36 2024 +0100 Adam Spiers * Merge pull request #106 from aspiers/dev Sat Apr 6 15:09:53 2024 +0100 Adam Spiers * Update manifest files to keep ./Build distcheck happy M MANIFEST M MANIFEST.SKIP Sat Apr 6 14:59:52 2024 +0100 Adam Spiers * 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 * 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 * Makefile.am: include DEFAULT_IGNORE_LIST in doc_deps M Makefile.am Sat Apr 6 13:33:53 2024 +0100 Adam Spiers * 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 * t/unstow.t: convert to use subtests M t/unstow.t Sat Apr 6 11:58:56 2024 +0100 Adam Spiers * 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 * 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 * 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 * 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 * manual: clarify the pros and cons and history of --compat M doc/stow.texi Fri Apr 5 01:57:29 2024 +0100 Adam Spiers * Merge pull request #105 from aspiers/github-workflow Fri Apr 5 00:51:27 2024 +0100 Adam Spiers * 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 * t/stow.t: fix typos, whitespace, and ordering of lines M t/stow.t Mon Apr 1 23:31:36 2024 +0100 Adam Spiers * testutil: use croak() instead of die() for more useful errors M t/testutil.pm Mon Apr 1 22:56:32 2024 +0100 Adam Spiers * t/stow: use like() instead of ok(... =~ /.../) M t/stow.t Mon Apr 1 23:37:06 2024 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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_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 * 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 * 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 * unstow_node: remove redundant return M lib/Stow.pm.in Mon Apr 1 21:32:30 2024 +0100 Adam Spiers * 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 * 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 * 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 * 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_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_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 * 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 * 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 * foldable: add debug for different cases when not foldable M lib/Stow.pm.in Mon Apr 1 19:53:56 2024 +0100 Adam Spiers * 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 * parent_link_scheduled_for_removal: tweak debug M lib/Stow.pm.in Mon Apr 1 17:00:13 2024 +0100 Adam Spiers * t/unstow_orig: split into subtests M t/unstow_orig.t Mon Apr 1 16:34:01 2024 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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_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 * 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 * 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 * emacs: tweak more cperl indentation config to match existing style M .dir-locals.el Mon Apr 1 12:12:27 2024 +0100 Adam Spiers * 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 * unstow_node: extract new unstow_existing_node() sub M lib/Stow.pm.in Mon Apr 1 11:46:10 2024 +0100 Adam Spiers * unstow_node: extract new unstow_link_node() sub M lib/Stow.pm.in Mon Apr 1 11:40:26 2024 +0100 Adam Spiers * unstow_node: extract new unstow_valid_link() sub M lib/Stow.pm.in Mon Apr 1 11:17:59 2024 +0100 Adam Spiers * 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 * t/dotfiles.t: switch to subtests M t/dotfiles.t Mon Apr 1 01:55:31 2024 +0100 Adam Spiers * t/stow: convert to subtests() M t/stow.t Mon Apr 1 00:39:18 2024 +0100 Adam Spiers * 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_node(): fix odd whitespace M lib/Stow.pm.in Mon Apr 1 00:34:39 2024 +0100 Adam Spiers * should_skip_target(): add docs explaining its purpose M lib/Stow.pm.in Mon Apr 1 00:34:19 2024 +0100 Adam Spiers * do_link(): improve variable names M lib/Stow.pm.in Mon Apr 1 00:07:06 2024 +0100 Adam Spiers * Add emacs config to prevent insertion of hard tabs M .dir-locals.el Mon Apr 1 00:06:24 2024 +0100 Adam Spiers * Remove hard tabs M lib/Stow.pm.in Sun Mar 31 23:51:14 2024 +0100 Adam Spiers * add unit tests for adjust_dotfiles() M t/dotfiles.t Sun Mar 31 23:41:02 2024 +0100 Adam Spiers * Merge commit 'pullreqs/70' into dev Sun Mar 31 19:02:23 2024 +0100 Adam Spiers * manual: disambiguate meaning of "source" M doc/stow.texi Sun Mar 31 18:59:19 2024 +0100 Adam Spiers * manual: clarify that installation image is pre-installation M doc/stow.texi Sun Mar 31 16:10:08 2024 +0100 Adam Spiers * 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.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.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 * manual: avoid double spaces after "i.e." M doc/stow.texi Sun Mar 31 15:14:28 2024 +0100 Adam Spiers * 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 * NEWS: more updates in preparation for next release M NEWS Wed Nov 11 19:43:25 2020 +0000 Adam Spiers * 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 * 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 * cleanup_invalid_links: improve docs M lib/Stow.pm.in Sun Mar 31 11:52:45 2024 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * Highlight an issue with prove overriding TEST_VERBOSE M CONTRIBUTING.md Sat Mar 9 18:11:29 2024 +0000 Adam Spiers * 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 * 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 * manual: fix duplicated "of" typo M doc/stow.texi Sat Mar 9 17:49:49 2024 +0000 Adam Spiers * 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 * Tweak text of error and debug messages M lib/Stow.pm.in Sat Mar 9 17:36:19 2024 +0000 Adam Spiers * Add a missing period to the stow_contents() comments. M lib/Stow.pm.in Sat Mar 9 17:35:35 2024 +0000 Adam Spiers * 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 * Add a comment explaining path in stow_contents() M lib/Stow.pm.in Sat Mar 9 17:33:25 2024 +0000 Adam Spiers * 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 * 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 * dotfiles.t: improve comment descriptions M t/dotfiles.t Sun Mar 3 18:29:53 2024 +0000 Adam Spiers * aclocal.m4: update to 1.16.5 M NEWS M aclocal.m4 Mon Apr 5 15:36:36 2021 +0100 Adam Spiers * testutil: Add sanity check for cwd M t/testutil.pm Mon Apr 5 15:35:13 2021 +0100 Adam Spiers * manual: update the Reporting Bugs / Known Bugs sections M doc/stow.texi Mon Apr 5 15:33:44 2021 +0100 Adam Spiers * manual: use @email{} for email addresses M doc/stow.texi Sun Apr 4 23:37:24 2021 +0100 Adam Spiers * Remove trailing whitespace M lib/Stow/Util.pm.in M t/unstow_orig.t Sun Apr 4 23:31:35 2021 +0100 Adam Spiers * testutil: clarify reason for default paths in new_Stow() M t/testutil.pm Sun Apr 4 22:52:22 2021 +0100 Adam Spiers * 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 * 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 * CONTRIBUTING: document how to test using prove(1) M CONTRIBUTING.md Fri Aug 12 20:43:56 2022 -0700 Ilya Grigoriev * Add .gitmodules to the default ignore list M default-ignore-list Sun Apr 4 17:34:46 2021 +0100 Adam Spiers * Upgrade aclocal to 1.16.3 M NEWS M aclocal.m4 Wed Nov 11 19:42:28 2020 +0000 Adam Spiers * 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 * CONTRIBUTING: Add a section on how to run the tests M CONTRIBUTING.md Wed Nov 11 19:36:38 2020 +0000 Adam Spiers * 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 * manual: request --verbose=5 for bug reports M doc/stow.texi Wed Nov 11 19:24:09 2020 +0000 Adam Spiers * AUTHORS: mention THANKS file M AUTHORS Wed Nov 11 18:51:22 2020 +0000 Adam Spiers * NEWS: update for 2.3.2 M NEWS Wed Nov 11 18:42:21 2020 +0000 Adam Spiers * NEWS: set org-blank-before-new-entry M NEWS Wed Nov 11 18:19:43 2020 +0000 Adam Spiers * Skip unnecessary planning M lib/Stow.pm.in Wed Nov 11 17:13:57 2020 +0000 Adam Spiers * cleanup_invalid_links: improve handling of scheduled actions M lib/Stow.pm.in Wed Nov 11 17:13:47 2020 +0000 Adam Spiers * Further improve debug output M lib/Stow.pm.in Mon Nov 2 00:52:41 2020 +0000 Adam Spiers * 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 * 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 * Improve debug indent levels M lib/Stow.pm.in Mon Nov 2 00:19:21 2020 +0000 Adam Spiers * 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 * 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 * foldable(): fix debug indentation M lib/Stow.pm.in Sun Nov 1 17:43:17 2020 +0000 Adam Spiers * 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 * HOWTO-RELEASE: maintainer-clean is better than distclean M doc/HOWTO-RELEASE Sun Nov 1 16:52:50 2020 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * Merge pull request #86 from gutierri/patch-manpage add option --simulate on manpage Wed Apr 14 22:08:38 2021 -0300 Gutierri Barboza * add option --simulate on manpage M bin/stow.in Wed Apr 14 11:03:00 2021 +0100 Adam Spiers * Merge pull request #85 from gutierri/patch-usage-dotfiles add --dotfiles sub usage Tue Apr 13 22:09:38 2021 -0300 Gutierri Barboza * add --dotfiles sub usage M bin/stow.in Sun Nov 1 12:24:52 2020 +0000 Adam Spiers * Merge pull request #71 from egli/master Mention the dotfiles option in the manual Wed May 27 17:51:37 2020 +0200 Christian Egli * 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 * 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 * 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 * 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 * 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 * 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 * HOWTO-RELEASE: explain how to confirm PAUSE acceptance of upload M doc/HOWTO-RELEASE Sun Jul 28 13:28:46 2019 +0100 Adam Spiers * 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 * Make sure release process starts from a clean slate M doc/HOWTO-RELEASE Sun Jul 28 13:10:49 2019 +0100 Adam Spiers * Prepare NEWS for 2.3.1 release M NEWS Sun Jul 28 12:57:27 2019 +0100 Adam Spiers * 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 * HOWTO-RELEASE: add suggested commands for updating home page M doc/HOWTO-RELEASE Sun Jul 28 13:03:54 2019 +0100 Adam Spiers * 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 * HOWTO-RELEASE: update news section of online home page M doc/HOWTO-RELEASE Tue Jul 16 19:21:04 2019 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * Maintainer tweaks (#59) Maintainer tweaks Sat Jun 29 01:30:36 2019 +0100 Adam Spiers * 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 * 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 * 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 * HOWTO-RELEASE: Fix cvs commit command for docs M doc/HOWTO-RELEASE Sat Jun 29 00:36:00 2019 +0100 Adam Spiers * HOWTO-RELEASE: Fix git tag command M doc/HOWTO-RELEASE Fri Jun 28 23:54:30 2019 +0100 Adam Spiers * 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 * 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 * 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 * make maintainer-clean remove cover_db/ M Makefile.am Fri Jun 28 20:46:15 2019 +0100 Adam Spiers * Make testing within Docker containers easier (#56) Make testing within Docker containers easier Fri Jun 28 20:10:45 2019 +0100 Adam Spiers * 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 * 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 * 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 * Dockerfile: fix Debian jessie sources (#55) Dockerfile: fix Debian jessie sources Fri Jun 28 17:12:18 2019 +0100 Adam Spiers * 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 * Make docker scripts use get-version (#54) Make docker scripts use get-version Fri Jun 28 17:10:42 2019 +0100 Adam Spiers * 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 * Make docker scripts use get-version M build-docker.sh M test-docker.sh Fri Jun 28 17:04:40 2019 +0100 Adam Spiers * 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 * Various improvements to tests (#52) Various improvements to tests Fri Jun 28 09:56:46 2019 +0100 Adam Spiers * 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 * 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 * 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 * Improve comments on function parameters for clarity M lib/Stow.pm.in Fri Jun 28 10:32:18 2019 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Fix Travis failure after merging #42 (#46) Fix Travis failure after merging #42 Thu Jun 27 14:06:19 2019 +0100 Adam Spiers * remove trailing whitespace from lines (#45) remove trailing whitespace from lines Thu Jun 27 13:55:35 2019 +0100 Adam Spiers * 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 * remove trailing whitespace from lines M doc/stow.texi Thu Jun 27 13:27:12 2019 +0100 Adam Spiers * Update maintainership to reflect reality (#41) Update maintainership to reflect reality Wed Jun 26 14:08:48 2019 +0100 Adam Spiers * 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 * 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 * 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 * 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 * Add Guillaume and myself to the list of @authors M doc/stow.texi Wed Jun 26 13:25:53 2019 +0100 Adam Spiers * remove trailing whitespace from lines M AUTHORS Tue Jun 25 20:33:48 2019 +0100 Adam Spiers * 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 * Merge remote-tracking branch 'bricewge/fix-34' Tue Jun 25 20:04:11 2019 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Update docs according to recent commits (#39) Update docs according to recent commits Tue Jun 25 17:21:53 2019 +0100 Adam Spiers * Update NEWS and THANKS according to recent commits M NEWS M THANKS Tue Jun 25 17:25:33 2019 +0100 Adam Spiers * 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 * Fix old descriptions of Stow (#22) (#38) Fix old descriptions of Stow (#22) Mon Nov 21 14:56:26 2016 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * Make dotfiles.t executable for consistency with other tests M t/dotfiles.t Tue Jun 25 13:44:17 2019 +0100 Adam Spiers * remove duplicate "the" typo M bin/chkstow.in Tue Jun 11 14:13:51 2019 +0200 Brice Waegeneire * retrun exit code 1 when unknown option M bin/stow.in Tue Jun 11 10:53:28 2019 +0200 Brice Waegeneire * make non docker scripts more portable M build-docker.sh M test-docker.sh Tue Jun 11 10:28:25 2019 +0200 Brice Waegeneire * 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 * Avoid dereferencing $ENV{HOME} if it is undefined M bin/stow.in Sat Feb 9 17:08:44 2019 +0000 Adam Spiers * 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 * 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 * add Jean Louis to THANKS file Forgot to do this in e7e6c7f. M THANKS Sun Feb 11 17:55:40 2018 +0000 Adam Spiers * avoid "regex" abbreviation for consistency M doc/stow.texi Sun Feb 11 17:47:06 2018 +0000 Adam Spiers * 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 * update aclocal.m4 using aclocal 1.15.1 M aclocal.m4 Sun Feb 11 11:47:39 2018 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Prepare NEWS file for 2.3.0 release M NEWS Sun Nov 20 22:16:43 2016 +0000 Adam Spiers * 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 * ignore cover_db generated by Coveralls M .gitignore Sun Nov 20 22:16:10 2016 +0000 Adam Spiers * 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 * use PAUSE upload for final validation step of release M doc/HOWTO-RELEASE Sun Nov 20 22:00:46 2016 +0000 Adam Spiers * make sure release tags are also pushed to GitHub M doc/HOWTO-RELEASE Sun Nov 20 21:58:31 2016 +0000 Adam Spiers * 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 * 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 * THANKS: add some recent contributors M THANKS Sun Nov 20 21:17:46 2016 +0000 Adam Spiers * THANKS: clarify mention of Bob Glickstein M THANKS Sun Nov 20 20:55:14 2016 +0000 Adam Spiers * 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 * Merge pull request #17 from jvkersch/enh/dot-files Special processing for dotfiles Sun Jul 31 21:55:55 2016 +0100 Joris Vankerschaver * 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 * Merge pull request #16 from cledoux/feature/docker Added docker files for local testing. Tue Sep 20 18:27:46 2016 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * add coveralls badge M README.md Tue Nov 17 01:43:38 2015 +0000 Adam Spiers * add coveralls M .travis.yml Mon Nov 16 22:47:34 2015 +0000 Adam Spiers * 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 * add .travis.yml to MANIFEST.SKIP M MANIFEST.SKIP Tue Nov 17 01:34:23 2015 +0000 Adam Spiers * fix make distcheck Stow/Util.pm was not being installed correctly M Makefile.am Mon Nov 16 22:39:53 2015 +0000 Adam Spiers * add Travis CI badge to README.md M README.md Mon Nov 16 22:35:56 2015 +0000 Adam Spiers * 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 * convert INSTALL to Markdown D INSTALL A INSTALL.md M README.md Mon Nov 16 22:12:02 2015 +0000 Adam Spiers * convert README to Markdown R076 README README.md Mon Nov 16 21:56:45 2015 +0000 Adam Spiers * switch to Travis CI containers M .travis.yml Fri Nov 13 14:50:19 2015 +0000 Adam Spiers * 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 * 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 * set up Travis CI A .travis.yml Fri Nov 13 12:04:52 2015 +0000 Adam Spiers * 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 * 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 * 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 * 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 * NEWS: Explain why 2.2.1 was not released M NEWS Mon Nov 9 11:46:50 2015 +0000 Adam Spiers * 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 * 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 * HOWTO-RELEASE: remove body indent M doc/HOWTO-RELEASE Mon Nov 9 11:04:21 2015 +0000 Adam Spiers * HOWTO-RELEASE: add link to official GNU maintainers guide M doc/HOWTO-RELEASE Mon Nov 9 10:13:34 2015 +0000 Adam Spiers * HOWTO-RELEASE: encourage use of SemVer M doc/HOWTO-RELEASE Mon Nov 9 10:11:59 2015 +0000 Adam Spiers * HOWTO-RELEASE: encourage GPG-signing of release tags M doc/HOWTO-RELEASE Mon Nov 9 10:10:36 2015 +0000 Adam Spiers * 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 * 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 * 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 * 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 * Bump version to 2.2.1 M configure.ac Mon Nov 9 09:16:32 2015 +0000 Adam Spiers * Prepare NEWS file for 2.2.1 release M NEWS Mon Nov 9 09:15:51 2015 +0000 Adam Spiers * Remove trailing whitespace from NEWS file M NEWS Mon Sep 17 16:55:17 2012 +0100 Adam Spiers * Add more index entries to the manual. M doc/stow.texi Mon Sep 17 16:55:03 2012 +0100 Adam Spiers * Fix a typo in the docs. M doc/stow.texi Sat Feb 7 19:29:43 2015 +0000 Adam Spiers * 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 * 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 * 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 * improve debug M lib/Stow.pm.in Mon Sep 22 00:36:25 2014 +0100 Adam Spiers * 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 * trim trailing whitespace M t/stow.t Mon Sep 22 00:14:56 2014 +0100 Adam Spiers * update aclocal M aclocal.m4 Mon Jun 16 10:22:55 2014 +0100 Adam Spiers * 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 M lib/Stow.pm.in Wed Apr 24 08:44:32 2013 +0100 Adam Spiers * add TODO for install-hooks M TODO Fri Apr 12 17:47:29 2013 +0100 Adam Spiers * 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 * 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 * 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 * 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 * 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 * Revamp README. M README Sun Feb 19 19:15:48 2012 +0000 Adam Spiers * Remove accidentally duplicated code. M t/examples.t Sun Feb 19 11:54:53 2012 +0000 Adam Spiers * Improve docs for path_owned_by_package() M lib/Stow.pm.in Sun Feb 19 01:42:10 2012 +0000 Adam Spiers * Fix typo in manual. M doc/stow.texi Sun Feb 19 01:42:04 2012 +0000 Adam Spiers * Add a few more items to index. M doc/stow.texi Sat Feb 18 20:43:20 2012 +0000 Adam Spiers * Add boilerplate commit message for web docs update. M doc/HOWTO-RELEASE Sat Feb 18 17:08:19 2012 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * Add documentation improvements to NEWS. M NEWS Sat Feb 18 17:07:15 2012 +0000 Adam Spiers * Update TODO M TODO Sat Feb 18 20:32:40 2012 +0000 Adam Spiers * Last known bug was fixed a long time ago :-) M doc/stow.texi Sat Feb 18 15:47:19 2012 +0000 Adam Spiers * 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 * Fix various formatting issues in the manual. M doc/stow.texi Sat Feb 18 15:45:49 2012 +0000 Adam Spiers * Add some more index entries to the manual. M doc/stow.texi Sat Feb 18 15:45:16 2012 +0000 Adam Spiers * 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 * 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 * Fix formatting of regexp values in the manual. M doc/stow.texi Sat Feb 18 14:15:14 2012 +0000 Adam Spiers * Add --adopt to usage text. M bin/stow.in Sat Feb 18 14:11:33 2012 +0000 Adam Spiers * Improve ordering of options in usage text. M bin/stow.in Sat Feb 18 14:08:17 2012 +0000 Adam Spiers * 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 * Ignore tmp-testing-trees anywhere. M .gitignore M MANIFEST.SKIP Sat Feb 18 12:28:00 2012 +0000 Adam Spiers * 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 * Include --simulate in usage text. M bin/stow.in Fri Jan 13 11:34:55 2012 +0000 Adam Spiers * 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 * 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 * 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 * Fix wrong version number in NEWS. M NEWS Mon Jan 9 21:39:35 2012 +0000 Adam Spiers * 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 * 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 * 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 * perl Build.PL needs a prefix during testing M doc/HOWTO-RELEASE Mon Jan 9 21:25:35 2012 +0000 Adam Spiers * 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 * Add stacktrace to internal error report to aid debugging. M lib/Stow.pm.in Mon Jan 9 18:32:06 2012 +0000 Adam Spiers * 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 * Link to website to encourage users to report bugs. M lib/Stow.pm.in Mon Jan 9 16:42:40 2012 +0000 Adam Spiers * Improve readability of NEWS file when viewed raw. M NEWS Mon Jan 9 16:25:27 2012 +0000 Adam Spiers * Improve existing comments. M lib/Stow.pm.in Wed Dec 21 11:45:59 2011 +0000 Adam Spiers * Improve the footnote which defines 'subpath'. M doc/stow.texi Wed Dec 21 11:45:43 2011 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Make capitalisation consistent in usage text. M bin/stow.in Wed Dec 7 20:31:18 2011 +0000 Adam Spiers * Abort ./configure if we can't find Perl. M NEWS M configure.ac Wed Dec 7 01:23:41 2011 +0000 Adam Spiers * 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 * Use maintainer-clean-local rule, not maintainer-clean. M Makefile.am Tue Dec 6 18:20:03 2011 +0000 Adam Spiers * `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 * 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 * 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 * 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 * Show when ChangeLog is rebuilt. M Makefile.am Tue Dec 6 17:22:21 2011 +0000 Adam Spiers * Fix release instructions regarding CPAN distribution. M doc/HOWTO-RELEASE Tue Dec 6 17:08:21 2011 +0000 Adam Spiers * Refill paragraph in README. M README Tue Dec 6 17:08:13 2011 +0000 Adam Spiers * Don't duplicate information from INSTALL. M README Tue Dec 6 17:07:29 2011 +0000 Adam Spiers * Document installation via Module::Build. M INSTALL Tue Dec 6 17:06:59 2011 +0000 Adam Spiers * Document prerequisites for installation. M INSTALL Tue Dec 6 17:04:50 2011 +0000 Adam Spiers * chkstow was missing from Module::Build install. M Build.PL Tue Dec 6 17:04:37 2011 +0000 Adam Spiers * 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 * 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 * Add $(PDF) and $(HTML) variables. M Makefile.am Tue Dec 6 16:39:57 2011 +0000 Adam Spiers * Add *.orig to MANIFEST.SKIP. M MANIFEST.SKIP Tue Dec 6 15:57:36 2011 +0000 Adam Spiers * Ditch deprecated AM_MAINTAINER_MODE. M aclocal.m4 M configure.ac Tue Dec 6 15:56:43 2011 +0000 Adam Spiers * Add licensing changes to TODO. M TODO Tue Dec 6 15:41:33 2011 +0000 Adam Spiers * 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 * 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 * 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 * Change @dircategory to `System administration' as suggested by Karl Berry. M doc/stow.texi Sat Dec 3 18:13:09 2011 +0000 Adam Spiers * 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 * Release announcements should go to stow-devel too. M doc/HOWTO-RELEASE Sat Dec 3 17:51:44 2011 +0000 Adam Spiers * Fix error in gnupload command-line. M doc/HOWTO-RELEASE Sat Dec 3 17:09:48 2011 +0000 Adam Spiers * Add a missing space. M AUTHORS Sat Dec 3 16:40:20 2011 +0000 Adam Spiers * Add a missing hyperlink to the Stow homepage. M doc/stow.texi Sat Dec 3 14:03:58 2011 +0000 Adam Spiers * 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 * Update reference to maintainer. M AUTHORS M README M doc/stow.texi Sat Dec 3 01:30:08 2011 +0000 Adam Spiers * 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 * Module::Build generates archive files with 'v' for version M MANIFEST.SKIP Fri Dec 2 14:55:44 2011 +0000 Adam Spiers * Add TODOs for .rpm and .deb support. M TODO Thu Dec 1 18:03:16 2011 +0000 Adam Spiers * Add doc/version.texi to distribution. M Makefile.am Thu Dec 1 17:25:24 2011 +0000 Adam Spiers * 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 * 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 * Add result of ./Build dist to .gitignore M .gitignore Mon Nov 28 23:18:58 2011 +0000 Adam Spiers * Synchronise CPAN MANIFEST files with automake distribution list. M MANIFEST M MANIFEST.SKIP Mon Nov 28 23:18:36 2011 +0000 Adam Spiers * Ignore split page version of HTML manual. M .gitignore Mon Nov 28 23:17:50 2011 +0000 Adam Spiers * 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 * Improve debug levels. M lib/Stow.pm.in M lib/Stow/Util.pm Sat Nov 26 18:24:35 2011 +0000 Adam Spiers * Add a TODO concerning .nonstow. M TODO Sat Nov 26 18:15:26 2011 +0000 Adam Spiers * Add HOWTO-RELEASE A doc/HOWTO-RELEASE Thu Nov 24 01:27:41 2011 +0000 Adam Spiers * Add NEWS entry for 2.1.0 M NEWS Thu Nov 24 00:26:50 2011 +0000 Adam Spiers * 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 * 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 * Tidy up chkstow code and documentation. M bin/chkstow.in M doc/stow.texi Fri Nov 25 15:03:46 2011 +0000 Adam Spiers * Add chkstow to NEWS M NEWS Fri Nov 25 14:45:28 2011 +0000 Adam Spiers * 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 * 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 * 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 * 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 * 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 * 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 * Sort .gitignore alphabetically M .gitignore Thu Nov 24 16:59:26 2011 +0000 Adam Spiers * Add some missing stuff to .gitignore M .gitignore Thu Nov 24 16:22:11 2011 +0000 Adam Spiers * 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 * 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 * 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 * Tidy up the copyright attributions in the manual. M doc/stow.texi Thu Nov 24 17:14:51 2011 +0000 Adam Spiers * Fix some minor issues in the manual. M doc/stow.texi Thu Nov 24 17:33:36 2011 +0000 Adam Spiers * Add HTML and PDF versions of manual to distribution. M .gitignore M Makefile.am Wed Nov 23 23:45:48 2011 +0000 Adam Spiers * 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 * Rename $old_* to $existing_* M lib/Stow.pm.in Tue Nov 22 15:50:12 2011 +0000 Adam Spiers * Rename protected_dir() to marked_stow_dir(). M lib/Stow.pm.in Tue Nov 22 15:48:08 2011 +0000 Adam Spiers * 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 * 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 * Add another test to join_paths.t M t/join_paths.t Tue Nov 22 14:29:42 2011 +0000 Adam Spiers * 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 * Avoid use of map in void context M bin/stow.in Mon Nov 21 23:24:02 2011 +0000 Adam Spiers * 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 * 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 * Fix more inconsistencies in coding style. M lib/Stow.pm.in Mon Nov 21 23:15:47 2011 +0000 Adam Spiers * Fix typos M lib/Stow.pm.in Mon Nov 21 22:08:52 2011 +0000 Adam Spiers * Fix/remove some outdated TODOs M TODO Mon Nov 21 18:04:58 2011 +0000 Adam Spiers * 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 * Add MYMETA.* to .gitignore M .gitignore Mon Nov 21 14:46:27 2011 +0000 Adam Spiers * Add .dirstamp and stamp-vti to .gitignore M .gitignore Thu Nov 24 16:52:50 2011 +0000 Adam Spiers * 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 * 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 * Add myself (Adam) to AUTHORS and THANKS ;-) M AUTHORS M THANKS Thu Nov 24 16:28:09 2011 +0000 Adam Spiers * 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 * Fix indentation in Makefile.am M Makefile.am Fri Nov 18 11:24:36 2011 +0000 Adam Spiers * 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 * 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 * 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 * 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 * Make 'verbose' option default to 0 in testmode. M stow.in Fri Nov 18 10:48:48 2011 +0000 Adam Spiers * 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 * Debug stow dir in stow/unstow contents routines M stow.in Fri Nov 18 10:33:08 2011 +0000 Adam Spiers * Trace individual cases separately when skipping stow dirs during unstow. M stow.in Fri Nov 18 10:29:15 2011 +0000 Adam Spiers * 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 * Debug when skipping over stow directories M stow.in Thu Nov 17 20:10:42 2011 +0000 Adam Spiers * Add debug when target to be unstowed doesn't exist M stow.in Thu Nov 17 20:09:42 2011 +0000 Adam Spiers * Add comments justifying is_a_node($target) check in unstow_contents(). M stow.in Thu Nov 17 19:33:09 2011 +0000 Adam Spiers * 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 * Fix incorrect comments. M stow.in Thu Nov 17 19:04:10 2011 +0000 Adam Spiers * Sync t/unstow_contents{,_orig}.t M t/unstow_contents_orig.t Thu Nov 17 18:46:32 2011 +0000 Adam Spiers * 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 * 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 * Refactored is_a_{link,dir,node}() code. M stow.in Thu Nov 17 17:23:04 2011 +0000 Adam Spiers * Improve tree splitting comments. M stow.in Thu Nov 17 16:39:02 2011 +0000 Adam Spiers * 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 * Add debug tracing to helper routines M stow.in Thu Nov 17 16:35:57 2011 +0000 Adam Spiers * Fix Parameters comments. M stow.in Thu Nov 17 19:47:20 2011 +0000 Adam Spiers * Improve debug output M stow.in Thu Nov 17 15:32:51 2011 +0000 Adam Spiers * Clarify meaning of `--defer' in the manual. M stow.texi Thu Nov 17 15:22:58 2011 +0000 Adam Spiers * Finish "Deferred Operation" section in manual. M TODO M stow.texi Thu Nov 17 14:17:24 2011 +0000 Adam Spiers * Fix inconsistencies in coding style. M stow.in M t/util.pm Thu Nov 17 14:12:14 2011 +0000 Adam Spiers * Set cperl-indent-level to 4 M stow.in Thu Nov 17 14:12:12 2011 +0000 Adam Spiers * Simplify GetOptions() code M stow.in Thu Nov 17 13:26:04 2011 +0000 Adam Spiers * Refactor verbosity-controlled output to STDERR into debug() subroutine. M stow.in Thu Nov 17 12:45:36 2011 +0000 Adam Spiers * 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 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 * 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 * Add a bunch of stuff to the TODO M TODO Wed Nov 16 15:42:42 2011 +0000 Adam Spiers * Add FIXME for Deferred Operation section in manual. M TODO M stow.texi Wed Nov 16 15:40:46 2011 +0000 Adam Spiers * Fix indentation issues in NEWS M NEWS Wed Nov 16 15:38:47 2011 +0000 Adam Spiers * 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 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 * Troy is the maintainer now. M AUTHORS M README M TODO M stow.texi Wed Nov 16 14:59:58 2011 +0000 Adam Spiers * 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 * 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 * 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 * Fix t/stow.t M t/stow.t Wed Nov 16 14:51:38 2011 +0000 Adam Spiers * Fix chkstow.t M chkstow.in M t/chkstow.t Wed Nov 16 14:46:31 2011 +0000 Adam Spiers * 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 * Fix chkstow.in for emacs users M chkstow.in Wed Nov 16 14:34:02 2011 +0000 Adam Spiers * 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 * Run autoreconf with more recent GNU autotools. M aclocal.m4 Wed Nov 16 14:30:55 2011 +0000 Adam Spiers * Add test target to Makefile M Makefile.am Thu Nov 24 16:55:43 2011 +0000 Adam Spiers * 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 * Add .gitignore A .gitignore Sun Apr 12 23:04:33 2009 -0700 Troy Will * made numeric argument to --verbose optional M stow.in Sun Apr 12 21:59:24 2009 -0700 Troy Will * Remove stow, config.status, config.log, Makefile D Makefile D config.log D config.status D stow Thu Jan 31 2008 Kahlil Hodgson * 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 * 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 * stow.in: if $ENV{'STOW_DIR'} is set, this becomes the default Stow directory. Sun Jan 06 12:18:50 2002 Guillaume Morin * Makefile.am: use EXTRA_DIST to include manpage in distribution Wed Jan 02 21:33:41 2002 Guillaume Morin * stow.in: Stow now only warns the user if a subdirectory is unreadable during unstowing. Wed Jan 02 20:58:05 2002 Guillaume Morin * stow.in: fixed JoinPaths so that subdirs called "0" are correctly pushed. Thanks a lot to Gergely Nagy who patiently helped me to chase this bug. Sun Dec 30 21:58:25 2001 Guillaume Morin * stow.in: fixed a bug introduced by previous changes when Target argument was relative. (thanks to Luca Filipozzi for pointing this out) Sun Dec 30 18:23:25 2001 Guillaume Morin * 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 * configure.in: automake fixes (fp_ -> AC, +AC_INIT_AUTOMAKE) Fri Oct 11 22:09:45 1996 Bob Glickstein * stow.html, configure.in: Version 1.3.2. * README, stow.texi: Correct the URL again. Fri Oct 11 18:20:42 1996 Bob Glickstein * 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 * Makefile.am: Add maintainer-only rules for stow-manual.html and stow-manual.texi. Wed Oct 9 00:32:31 1996 Bob Glickstein * 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 * 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 * stow.texi: Delete trailing whitespace. Fri Jun 21 19:44:26 1996 Bob Glickstein * 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 * README: Call it "Gnu Stow". Tue Jun 18 22:15:45 1996 Bob Glickstein * 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 * THANKS: Thank Fritz. Fri Jun 14 19:18:50 1996 Bob Glickstein * 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 * stow.in: Change three occurrences of `my' to `local' for Perl 4 compatibility. Thu Jun 13 18:07:37 1996 Bob Glickstein * 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 as the contact address. * TODO: New file. * stow.in: Refer to "Gnu Stow" in a few places. Use 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 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 * 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 * 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 * Created stow, formerly "depot."