Merge remote-tracking branch 'gma/drop-set-prefix' into drop-set-prefix

This commit is contained in:
Sam Stephenson 2011-08-18 12:50:06 -05:00
commit 174e101799
7 changed files with 56 additions and 33 deletions

View file

@ -42,8 +42,8 @@ tools that do one thing well.
* [1 How It Works](#section_1)
* [2 Installation](#section_2)
* [3 Usage](#section_3)
* [3.1 set-default](#section_3.1)
* [3.2 set-local](#section_3.2)
* [3.1 default](#section_3.1)
* [3.2 local](#section_3.2)
* [3.3 versions](#section_3.3)
* [3.4 version](#section_3.4)
* [3.5 rehash](#section_3.5)
@ -122,26 +122,32 @@ when installing a gem that provides a binary).
Like `git`, the `rbenv` command delegates to subcommands based on its
first argument. The most common subcommands are:
### <a name="section_3.1"></a> 3.1 set-default
### <a name="section_3.1"></a> 3.1 default
Sets the default version of Ruby to be used in all shells by writing
the version name to the `~/.rbenv/default` file. This version can be
overridden by a per-project `.rbenv-version` file, or by setting the
`RBENV_VERSION` environment variable.
$ rbenv set-default 1.9.2-p290
$ rbenv default 1.9.2-p290
The special version name `system` tells rbenv to use the system Ruby
(detected by searching your `$PATH`).
### <a name="section_3.2"></a> 3.2 set-local
When run without a version number the currently configured default
version is reported.
### <a name="section_3.2"></a> 3.2 local
Sets a local per-project Ruby version by writing the version name to
an `.rbenv-version` file in the current directory. This version
overrides the default, and can be overridden itself by setting the
`RBENV_VERSION` environment variable.
$ rbenv set-local rbx-1.2.4
$ rbenv local rbx-1.2.4
When run without a version number the currently configured local
version is reported.
### <a name="section_3.3"></a> 3.3 versions

View file

@ -17,7 +17,7 @@ _rbenv() {
local prev="${COMP_WORDS[COMP_CWORD-1]}"
case "$prev" in
set-* | prefix )
default | local | prefix )
_rbenv_versions
;;
* )

16
libexec/rbenv-default Executable file
View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash -e
RBENV_VERSION="$1"
VERSION_FILE="${HOME}/.rbenv/default"
if [ -z "$RBENV_VERSION" ]; then
if [[ -e "$VERSION_FILE" ]]; then
cat "$VERSION_FILE"
else
echo "No default version configured - set with: rbenv default <version>"
fi
else
# Make sure the specified version is installed
rbenv-prefix "$RBENV_VERSION" >/dev/null
echo "$RBENV_VERSION" > "$VERSION_FILE"
fi

View file

@ -22,23 +22,23 @@ case "$1" in
Some useful rbenv commands are:
commands List all commands
rehash Rehash rbenv shims (run this after installing binaries)
set-default Set the default Ruby version
set-local Set a local directory-specific Ruby version
default Set or show the default Ruby version
local Set or show the local directory-specific Ruby version
version Show the current Ruby version
versions List all Ruby versions known by rbenv
See 'rbenv help <command>' for more information on a specific command.
For more information, see: https://github.com/sstephenson/rbenv#readme"
;;
set-default) echo "usage: rbenv set-default <version>
default) echo "usage: rbenv default <version>
Sets the default Ruby version. You can override the default at any time
by setting a directory-specific version with \`rbenv set-local' or by
by setting a directory-specific version with \`rbenv local' or by
setting the RBENV_VERSION environment variable.
$(print_set_version)"
;;
set-local) echo "usage: rbenv set-local <version>
local) echo "usage: rbenv local <version>
Sets the local directory-specific Ruby version by writing the version
name to a file named '.rbenv-version'.
@ -46,7 +46,7 @@ name to a file named '.rbenv-version'.
When you run a Ruby command, rbenv will look for an '.rbenv-version'
file in the current directory and each parent directory. If no such
file is found in the tree, rbenv will use the default Ruby version
specified with \`rbenv set-default', or the version specified in the
specified with \`rbenv default', or the version specified in the
RBENV_VERSION environment variable.
$(print_set_version)"

17
libexec/rbenv-local Executable file
View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash -e
RBENV_VERSION="$1"
VERSION_FILE=".rbenv-version"
if [ -z "$RBENV_VERSION" ]; then
if [[ -e "$VERSION_FILE" ]]; then
cat "$VERSION_FILE"
else
echo "No local version configured - set with: rbenv local <version>"
fi
else
# Make sure the specified version is installed
rbenv-prefix "$RBENV_VERSION" >/dev/null
echo "$RBENV_VERSION" > "$VERSION_FILE"
fi

View file

@ -1,13 +1,5 @@
#!/usr/bin/env bash
set -e
RBENV_VERSION="$1"
if [ -z "$RBENV_VERSION" ]; then
echo "usage: rbenv set-default VERSION" >&2
exit 1
fi
# Make sure the specified version is installed
rbenv-prefix "$RBENV_VERSION" >/dev/null
echo "$RBENV_VERSION" > "${HOME}/.rbenv/default"
echo "set-default has been renamed to default" >&2
rbenv-default "$@"

View file

@ -1,13 +1,5 @@
#!/usr/bin/env bash
set -e
RBENV_VERSION="$1"
if [ -z "$RBENV_VERSION" ]; then
echo "usage: rbenv set-local VERSION" >&2
exit 1
fi
# Make sure the specified version is installed
rbenv-prefix "$RBENV_VERSION" >/dev/null
echo "$RBENV_VERSION" > .rbenv-version
echo "set-local has been renamed to local" >&2
rbenv-local "$@"