Commit graph

47 commits

Author SHA1 Message Date
Mike Busch d246e20764 unset CDPATH if it's set by the user 2016-04-22 10:17:40 -05:00
Mislav Marohnić e554cd86c3 Strip leading : from RBENV_HOOK_PATH 2015-12-24 19:12:47 +01:00
Jason Karns a1ef9efc80 use PWD var over pwd command 2015-11-23 09:13:31 -05:00
Jason Karns 87dd5fe2c0 indentation 2015-11-23 09:13:31 -05:00
Jason Karns 3ddedc021a Extract abort helper function
fail helper prints message to stderr and exits 1
(prefixes 'rbenv: ' if given a string arg)
2015-11-20 10:25:46 -05:00
Jason Karns 2c4dd63f77 handle --help for subcommands
If subcommand is provided (and exists) and its first arg is -h/--help,
go ahead and intercept the call; redirecting to rbenv-help <subcommand>

This means subcommands and plugins need not handle --help flag
themselves
2015-11-19 12:05:18 -05:00
Jason Karns 06e4f1b682 explicit --version flag
Without it, it falls back to `--version` being executed as a subcommand,
which works but isn't obvious
2015-11-19 11:14:59 -05:00
Mislav Marohnić 825de5d2e3 Fix argument handling in main rbenv command
- Explicitly asking for help with `-h` or `--help` exits with 0 status
  and displays help on stdout.

- Not providing any arguments to rbenv results in failure status and
  displays version and help on stderr.
2015-11-19 01:52:48 +01:00
Mislav Marohnić 6e02b944f7 Use $BASH_SOURCE instead of $0
BASH_SOURCE might be more reliable.
2015-10-27 20:55:23 +01:00
Mislav Marohnić 632263568e Add rbenv's own rbenv.d directory to hook paths
This allows rbenv source code to ship with built-in hooks.
2014-10-19 14:35:36 +02:00
Mislav Marohnić 3f74da0e73 Fail hard if RBENV_NATIVE_EXT is set but extensions failed to load 2014-10-13 04:12:35 +02:00
Mislav Marohnić 5287e2ebf4 Avoid slow abs_dirname() by loading realpath extension
This speeds up every `rbenv` invocation significantly.
2014-10-13 04:12:34 +02:00
James FitzGibbon 81bb14e181 bail out early if readlink is not available
readlink comes from GNU coreutils.  On systems without it, rbenv used to
spin out of control when it didn't have readlink or greadlink available
because it would re-exec the frontend script over and over instead of the
worker script in libexec.

Fixes #389
2013-06-07 19:16:38 +02:00
Sam Stephenson e3f72ebae2 Guard against exported CDPATH (fixes #316) 2013-01-25 12:02:11 -06:00
Sam Stephenson 3cb95b4d2d Add rbenv --debug <command> as a shortcut for setting RBENV_DEBUG=1 2013-01-23 19:07:37 -06:00
Sam Stephenson 892aea138e Export PS4 when RBENV_DEBUG is set for more informative debug output 2013-01-23 19:07:37 -06:00
Sam Stephenson 1ebcbd92e2 Tweak rbenv --version output 2012-12-13 11:26:39 -06:00
Mislav Marohnić b5a26936e8 rbenv --version 2012-12-13 00:40:29 +01:00
Antonio Terceiro d1bfeee334 Add /usr/lib/rbenv/hooks to hook search path
This will help with the packaging of rbenv plugin that contain hooks in
Debian.
2012-01-26 20:23:31 -02:00
Sam Stephenson b10bdb1e78 rbenv 0.3.0 2011-12-25 21:32:48 -05:00
Sam Stephenson 7fbcde8af0 Properly expand RBENV_DIR and ensure it exists 2011-12-25 16:41:15 -05:00
Per Velschow dfc7645609 Quoting the argument to greadlink to make it work with paths containing spaces. 2011-11-18 21:21:16 +01:00
Sam Stephenson 01a0ad0b69 rbenv 0.2.1 2011-10-01 12:26:19 -05:00
Sam Stephenson e49be969ab Ensure RBENV_DIR is always an absolute path
Otherwise, `RBENV_DIR=bin rbenv version-file` loops indefinitely
2011-10-01 12:15:20 -05:00
Sam Stephenson 2cd12e3fa6 rbenv 0.2.0 2011-09-28 13:38:03 -05:00
Sam Stephenson 07815769ae RBENV_DIR sets the directory from which .rbenv-version files are scanned 2011-09-27 15:50:39 -05:00
Sam Stephenson 10084ae020 Automatically add ${RBENV_ROOT}/plugins/*/etc/rbenv.d to $RBENV_HOOK_PATH 2011-09-23 10:47:45 -05:00
Sam Stephenson 8ce5e84c21 Automatically add ${RBENV_ROOT}/plugins/*/bin to $PATH 2011-09-23 10:44:00 -05:00
Sam Stephenson f9fb3c934e rbenv-plugin-scripts -> rbenv-hooks; RBENV_PLUGIN_PATH -> RBENV_HOOK_PATH 2011-09-23 10:43:06 -05:00
Joshua Peek a238099e38 Include /usr/local/etc hooks 2011-09-22 19:08:03 -05:00
Sam Stephenson 096743acde Add support for RBENV_PLUGIN_PATH environment variable 2011-09-21 13:00:23 -05:00
Sam Stephenson 568cd4b23e Strip trailing slashes from RBENV_ROOT (#83) 2011-09-14 12:45:44 -05:00
Sam Stephenson 0632325a43 Set RBENV_DEBUG=1 to see what's going on under the hood 2011-09-12 10:11:59 -05:00
Sam Stephenson 2e3e141d2e RBENV_ROOT defaults to ~/.rbenv 2011-09-11 12:05:56 -05:00
Sam Stephenson 7ac964353f RBENV_HOME -> RBENV_ROOT 2011-09-11 11:58:57 -05:00
Alexander Rinass 5130f0464a Support install locations other than $HOME/.rbenv.
Define RBENV_HOME env variable in libexec/rbenv and let all script delegates use this variable to determine rbenv's install location.
2011-08-25 09:28:01 +02:00
Sam Stephenson 7bbfecd9af Working on 0.2.0-pre now 2011-08-17 17:35:04 -05:00
Paul Mucur b7e19b4953 Solaris doesn't support readlink so use greadlink if available instead.
Taken from Ryan Tomayko's "GNU is killing Solaris", c.f. http://tomayko.com/writings/gnu-is-killing-solaris
2011-08-16 22:26:57 +01:00
Sam Stephenson 49ecbe147f rbenv 0.1.2 2011-08-16 00:16:17 -05:00
Sam Stephenson bd1e56ff37 rbenv 0.1.1 2011-08-14 13:51:51 -05:00
Samuel Cochran a14095f299 Add "-h" and "--help" which work as expected 2011-08-14 21:30:13 +08:00
Andreas Johansson 6938692ca2 Fix argument that cannot be sent to bash via env
/usr/bin/env seems to have problems with arguments to bash on some
platforms. To bypass this, use set -e instead.
2011-08-12 11:33:45 +02:00
Ryan Baumann f2f8ef88a5 Implement some basic command line help 2011-08-10 09:53:34 -04:00
Peter Aronoff 67d3d6b12d Use parameter expansion for basename + dirname
These are built-ins, and they're used elsewhere in the code.
2011-08-03 20:04:42 -04:00
Sam Stephenson 735a2bc4e7 Consistent style 2011-08-02 23:05:24 -05:00
Joshua Peek d65141c7b5 Merge branch 'master' into libexec
Conflicts:
	bin/rbenv
	libexec/rbenv-shim
2011-08-02 19:41:03 -05:00
Joshua Peek 43624943ee Move subcommands into libexec/ 2011-08-02 18:01:46 -05:00