Directly call *env commands to avoid hook path duplication #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that any time I use
*env latest install
, anyafter_install
hooks were being called twice.Eventually, I found that this (would apply to any
$COMMAND
, but I'm using luaenv as an example) in combination with the fact that xxenv-latest is calling the install commands like$COMMAND install
is causing the hook directories to be added twice. The first time, when*env latest ...
is called by the user and then again when xxenv-latest calls the install command.Since *env sets up PATH such that the subcommands can be used directly, it makes more sense to call them like
$COMMAND-$SUBCOMMAND
. This ensures the hook PATH is only altered once.I went ahead and changed every call (not just install) to be consistent, but I don't know that it would affect others, since {before,after}_install seem to be the only hooks. There could be more in the future, and this would ensure all the commands have a clean environment.
Kind of related, but would you be open to me adding some unit testing in another PR?