Commit graph

455 commits

Author SHA1 Message Date
Charles LeDoux
ebc895a540 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.
2019-06-25 19:38:25 +01:00
Charles LeDoux
237288fb7e 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
2019-06-25 19:38:25 +01:00
Charles LeDoux
048203b7f9 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.
2019-06-25 19:38:25 +01:00
Adam Spiers
bb8b79e031 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.
2019-06-25 19:38:25 +01:00
Adam Spiers
0f3e1b33fc 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
2019-06-25 19:36:49 +01:00
Adam Spiers
2eb3be13c5
Update docs according to recent commits (#39)
Update docs according to recent commits
2019-06-25 17:48:07 +01:00
Adam Spiers
f6bf45af9c Update NEWS and THANKS according to recent commits 2019-06-25 17:41:17 +01:00
Adam Spiers
c3cbdeb812 Synchronise --verbose documentation
The man page was updated with regard to higher --verbose levels but
not the info manual, so fix that.
2019-06-25 17:41:17 +01:00
Adam Spiers
b9c13df5f7
Fix old descriptions of Stow (#22) (#38)
Fix old descriptions of Stow (#22)
2019-06-25 17:05:43 +01:00
Adam Spiers
72ef83cebd 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
2019-06-25 16:52:33 +01:00
Adam Spiers
a70c60e888
Merge pull request #37 from aspiers/invalid-option-exit-code
Return non-zero exit code when invalid option is specified (#34)
2019-06-25 15:55:15 +01:00
Adam Spiers
e79c5938bc 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
2019-06-25 15:43:08 +01:00
Adam Spiers
1e9fa23d2e
Add black box CLI testing and 2 other tweaks (#36)
Add black box CLI testing and 2 other tweaks
2019-06-25 15:41:41 +01:00
Adam Spiers
8394507891 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.
2019-06-25 15:26:25 +01:00
Adam Spiers
bd4241b3e4 Make dotfiles.t executable for consistency with other tests 2019-06-25 14:30:30 +01:00
Adam Spiers
e618ef1526 remove duplicate "the" typo 2019-06-25 13:46:30 +01:00
Brice Waegeneire
77b0cf8f45 retrun exit code 1 when unknown option 2019-06-11 14:13:51 +02:00
Brice Waegeneire
c86d9aa148 make non docker scripts more portable 2019-06-11 10:53:28 +02:00
Brice Waegeneire
d6924bdbc3 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
2019-06-11 10:28:25 +02:00
Will Aoki
b42cb89fdd Avoid dereferencing $ENV{HOME} if it is undefined 2019-04-03 09:49:53 -06:00
Adam Spiers
74defd4812
Merge pull request #30 from aspiers/chkstow-stow-dir
make chkstow honour $STOW_DIR environment variable
2019-02-09 17:08:44 +00:00
Adam Spiers
1a752bf70b make chkstow honour $STOW_DIR environment variable
Thanks to Matan Nassau for reporting this deficiency.
2019-02-09 17:03:45 +00:00
Adam Spiers
88ec3f58aa add Jean Louis to THANKS file
Forgot to do this in e7e6c7f.
2018-02-11 17:58:33 +00:00
Adam Spiers
dd42b09a5b avoid "regex" abbreviation for consistency 2018-02-11 17:55:40 +00:00
Adam Spiers
c84de4eb14 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
2018-02-11 17:55:31 +00:00
Adam Spiers
e2af22c11a update aclocal.m4 using aclocal 1.15.1 2018-02-11 11:52:56 +00:00
Adam Spiers
e7e6c7fbde update the introductory text to clarify Stow's common usage
Thanks to Jean Louis for some suggestions on this.
2018-02-11 11:47:39 +00:00
Adam Spiers
655e8e4a3d INSTALL.md: document how to build from git (#20)
Fixes https://github.com/aspiers/stow/issues/20
2017-03-19 21:12:46 +00:00
Adam Spiers
ea11f266a5 fix typo in "Deleting Packages" chapter
Thanks to Hongyi Zhao for spotting this error and reporting it.
2017-03-04 14:29:06 +00:00
Adam Spiers
b160a1c807 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
2016-12-18 23:17:19 +00:00
Adam Spiers
5a8d275c47 replace a "you" typo with better text
The contents are prepended to the arguments; they still come after the
stow executable.
2016-12-18 23:14:39 +00:00
Adam Spiers
8d738353f8 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
2016-12-18 23:11:23 +00:00
Adam Spiers
6e5209fb2d Bump version to 2.3.0 2016-11-20 22:57:39 +00:00
Adam Spiers
94b155d99b Prepare NEWS file for 2.3.0 release 2016-11-20 22:57:39 +00:00
Adam Spiers
fd10706ce3 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.
2016-11-20 22:57:39 +00:00
Adam Spiers
5123a585a2 ignore cover_db generated by Coveralls 2016-11-20 22:57:39 +00:00
Adam Spiers
03480626a2 tag Docker images with the corresponding version number 2016-11-20 22:50:22 +00:00
Adam Spiers
98a8f7e3e7 use PAUSE upload for final validation step of release 2016-11-20 22:50:22 +00:00
Adam Spiers
a9f79c6a5b make sure release tags are also pushed to GitHub 2016-11-20 22:50:22 +00:00
Adam Spiers
17bbfb05c6 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.
2016-11-20 22:50:22 +00:00
Adam Spiers
08bff6df00 whitespace cleanups 2016-11-20 22:20:46 +00:00
Adam Spiers
68838c8d9d THANKS: add some recent contributors 2016-11-20 22:07:52 +00:00
Adam Spiers
b2fdd27596 THANKS: clarify mention of Bob Glickstein 2016-11-20 22:07:52 +00:00
Adam Spiers
0bc06e58e1 HOWTO-RELEASE: add a reminder to update THANKS
Make sure the maintainer always gives credit to contributors :-)
2016-11-20 22:07:47 +00:00
Adam Spiers
1b320b1dc3 Merge pull request #17 from jvkersch/enh/dot-files
Special processing for dotfiles
2016-10-05 17:47:51 +01:00
Joris Vankerschaver
182acbbb64 Special processing for dotfiles 2016-10-04 17:51:01 +01:00
Adam Spiers
928f893d9e Merge pull request #16 from cledoux/feature/docker
Added docker files for local testing.
2016-09-25 19:32:08 +01:00
Adam Spiers
7ede3c8df0 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
2016-09-20 18:33:07 +01:00
Adam Spiers
f5e12670d6 remove superfluous space in function call
Be consistent with style elsewhere.
2016-08-23 10:37:12 +01:00
Charles LeDoux
95ffbc5ebd 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
2016-05-18 17:31:04 -05:00