scripts/set in rvm-0.1.45 vs scripts/set in rvm-0.1.46
- old
+ new
@@ -10,15 +10,16 @@
action="$1" ; shift
args="$*"
__rvm_attempt_single_exec() {
# Return if we have multiple rubies. or we're not running exec.
- if [[ "$action" != "exec" ]] || $rvm_scripts_path/match "$rvm_ruby_strings" ' '; then
- return 1
+ local ruby_string_lines="$(printf "$rvm_ruby_strings" | wc -l | __rvm_strip)"
+ if [[ "$action" = "exec" && -n "$rvm_ruby_strings" && "$ruby_string_lines" = "0" ]]; then
+ __rvm_become "$rvm_ruby_strings"
+ eval "exec $args"
fi
- __rvm_become "$rvm_ruby_strings"
- eval "exec $args"
+ return 1
}
# Perform an action using one of a selected ruby's specified binaries.
__rvm_ruby_do() {
# Return on invalid rubies.
@@ -61,12 +62,12 @@
rvm_command="$binary $rvm_ruby_mode $args"
fi
fi
if [[ ! -z "$rvm_json_flag" ]] || [[ ! -z "$rvm_yaml_flag" ]] || [[ ! -z "$rvm_summary_flag" ]] ; then
- mkdir -p ./log/$rvm_ruby_string/
- touch ./log/$rvm_ruby_string/$action.log ./log/$rvm_ruby_string/$action.error.log
+ \mkdir -p ./log/$rvm_ruby_string/
+ \touch ./log/$rvm_ruby_string/$action.log ./log/$rvm_ruby_string/$action.error.log
eval "$rvm_command" >> ./log/$rvm_ruby_string/$action.log 2>> ./log/$rvm_ruby_string/$action.error.log
else
if [[ "$rvm_verbose_flag" != "0" ]] ; then
current_env="$(__rvm_environment_identifier)"
if [[ "$current_env" != "$current_set_ruby" ]]; then
@@ -121,11 +122,11 @@
if [[ ! -z "$rvm_debug_flag" ]] ; then
$rvm_scripts_path/log "debug" "${rubies[$index]}: ${statuses[$index]}"
fi
yaml="$yaml\n \"${rubies[$index]}\": ${statuses[$index]}"
done ; unset index array_start
- mkdir -p log
+ \mkdir -p log
printf "$yaml" | tee -a log/summary.yaml
return ${#errors[*]}
}
@@ -146,10 +147,10 @@
json="$json\n {\"${rubies[$index]}\": ${statuses[$index]}}"
if (( $index + 1 < $total + $array_start )) ; then json="$json, " ; fi
done ; unset index array_start
json="$json\n }\n}"
- mkdir -p log
+ \mkdir -p log
printf "$json" | tee -a log/summary.json
return ${#errors[*]}
}