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[*]} }