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) * [1 How It Works](#section_1)
* [2 Installation](#section_2) * [2 Installation](#section_2)
* [3 Usage](#section_3) * [3 Usage](#section_3)
* [3.1 set-default](#section_3.1) * [3.1 default](#section_3.1)
* [3.2 set-local](#section_3.2) * [3.2 local](#section_3.2)
* [3.3 versions](#section_3.3) * [3.3 versions](#section_3.3)
* [3.4 version](#section_3.4) * [3.4 version](#section_3.4)
* [3.5 rehash](#section_3.5) * [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 Like `git`, the `rbenv` command delegates to subcommands based on its
first argument. The most common subcommands are: 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 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 the version name to the `~/.rbenv/default` file. This version can be
overridden by a per-project `.rbenv-version` file, or by setting the overridden by a per-project `.rbenv-version` file, or by setting the
`RBENV_VERSION` environment variable. `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 The special version name `system` tells rbenv to use the system Ruby
(detected by searching your `$PATH`). (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 Sets a local per-project Ruby version by writing the version name to
an `.rbenv-version` file in the current directory. This version an `.rbenv-version` file in the current directory. This version
overrides the default, and can be overridden itself by setting the overrides the default, and can be overridden itself by setting the
`RBENV_VERSION` environment variable. `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 ### <a name="section_3.3"></a> 3.3 versions

View file

@ -17,7 +17,7 @@ _rbenv() {
local prev="${COMP_WORDS[COMP_CWORD-1]}" local prev="${COMP_WORDS[COMP_CWORD-1]}"
case "$prev" in case "$prev" in
set-* | prefix ) default | local | prefix )
_rbenv_versions _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: Some useful rbenv commands are:
commands List all commands commands List all commands
rehash Rehash rbenv shims (run this after installing binaries) rehash Rehash rbenv shims (run this after installing binaries)
set-default Set the default Ruby version default Set or show the default Ruby version
set-local Set a local directory-specific Ruby version local Set or show the local directory-specific Ruby version
version Show the current Ruby version version Show the current Ruby version
versions List all Ruby versions known by rbenv versions List all Ruby versions known by rbenv
See 'rbenv help <command>' for more information on a specific command. See 'rbenv help <command>' for more information on a specific command.
For more information, see: https://github.com/sstephenson/rbenv#readme" 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 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. setting the RBENV_VERSION environment variable.
$(print_set_version)" $(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 Sets the local directory-specific Ruby version by writing the version
name to a file named '.rbenv-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' 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 in the current directory and each parent directory. If no such
file is found in the tree, rbenv will use the default Ruby version 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. RBENV_VERSION environment variable.
$(print_set_version)" $(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 #!/usr/bin/env bash
set -e set -e
RBENV_VERSION="$1" echo "set-default has been renamed to default" >&2
if [ -z "$RBENV_VERSION" ]; then rbenv-default "$@"
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"

View file

@ -1,13 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
RBENV_VERSION="$1" echo "set-local has been renamed to local" >&2
if [ -z "$RBENV_VERSION" ]; then rbenv-local "$@"
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