scripts/utility in rvm-0.0.53 vs scripts/utility in rvm-0.0.54

- old
+ new

@@ -44,13 +44,16 @@ if [ -f $file_name -a -s $file_name ] ; then __rvm_log "debug" "$file_name (filtered):\n$(cat $file_name | awk '!/assword|_key/')\n" fi done + __rvm_log "debug" "gem sources:\n$(gem sources | awk '/gems/')" + if [ -f $rvm_path/bin/rvm ] ; then __rvm_log "error" "rvm script in bin! \n$(ls -laht $rvm_path/bin/rvm)" fi + } # Logging functions based on level function __rvm_log { case "$1" in @@ -156,26 +159,32 @@ fi else __rvm_log "debug" "No archive or no MD5, downloading" download=1 fi + if [ $download -gt 0 ] ; then eval $rvm_fetch "$1" result=$? if [ $result -gt 0 ] ; then if [ $result -eq 78 ] ; then __rvm_log "error" "The requested url does not exist: '$1'" elif [ $result -eq 33 ] ; then __rvm_log "debug" "Server does not support 'range' command, removing '$archive'" rm -f $archive - __rvm_fetch "$1" + eval $rvm_fetch "$1" + result=$? + if [ $result -gt 0 ] ; then + __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" + fi else __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log" fi fi __rvm_pushpop fi + unset archive unset download return $result } @@ -343,13 +352,13 @@ } function __rvm_list { if [ "$rvm_all_flag" ] ; then svn list http://svn.ruby-lang.org/repos/ruby/tags/ | grep 'v1_[8|9]' | sed 's/^v1_//' | sed 's/\/$//' | awk -F'_' '{print "1."$1"."$2 " -l "$3}' | sed 's/p$//' - echo -e "jruby 1.2.0\njruby 1.3.0\njruby 1.3.1\njruby --head" - echo -e "rbx head (rubinius head)\nrbx head --jit" - echo -e "ree 20090610\nree --head\nree 1.8.7 --head" + echo -e "jruby 1.2.0\njruby 1.3.0\njruby (1.3.1, the default)\njruby 1.4.1\njruby --head" + echo -e "rbx head (rubinius head, the default)\nrbx head --jit" + echo -e "ree 1.8.6 --head\nree (1.8.7, the default)" else current_ruby=`which ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null` echo -e "\nruby:\n" for version in `/bin/ls -l $rvm_path/ 2> /dev/null | awk '/ ruby-[1-2].*/ { print $NF }'` ; do string=`$rvm_path/$version/bin/ruby -v` @@ -592,20 +601,19 @@ return ${#errors[*]} } function __rvm_summary { export successes errors statuses - summary="\nSummary:\n" - summary="$summary \033[0;32m${#successes[*]} successful: $(echo "${successes[*]}" | sed 's/ /, /g')\033[0m\n" - summary="$summary \033[0;31m${#errors[*]} errors: $(echo "${errors[*]}" | sed 's/ /, /g')\033[0m\n" + summary="\nSummary:\n\n" + if [ ${#successes[*]} -gt 0 ] ; then + summary="$summary \033[0;32m${#successes[*]} successful: $(echo "${successes[*]}" | sed 's/ /, /g')\033[0m\n" + fi + if [ ${#errors[*]} -gt 0 ] ; then + summary="$summary \033[0;31m${#errors[*]} errors: $(echo "${errors[*]}" | sed 's/ /, /g')\033[0m\n" + fi total=${#rubies[*]} if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi - for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do - __rvm_log "debug" "${rubies[$index]} returned ${statuses[$index]}" - summary="$summary ${rubies[$index]} returned ${statuses[$index]}" - if (( $index + 1 < $total + $array_start )) ; then summary="$summary\n" ; fi - done ; unset index array_start echo -e "$summary" | tee -a log/summary.log return ${#errors[*]} } function __rvm_yaml { @@ -668,17 +676,40 @@ rvm_action="ruby" if [ ! -z "$rvm_debug_flag" ] ; then echo -e "$rvm_temp_path/$$.rb:\n$(cat $rvm_temp_path/$$.rb)" ; fi __rvm_do } -function __rvm_gemset_dump { +__rvm_gemset_delete () { if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi - rvm_file_name=${rvm_file_name:-'default'} + if [ ! -z $rvm_gem_set_name ] ; then + gemdir="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version-$rvm_gem_set_name" + if [ -d $gemdir ] ; then + __rvm_log "warn" "Are you SURE you wish to remove the installed gemset '$rvm_gem_set_name ' ($gemdir)?" + echo -n "(anything other than 'yes' will cancel) > " + read response + if [ "$response" = "yes" ] ; then + rm -rf $gemdir + else + __rvm_log "info" "Not doing anything, phew... close call that one eh?" + fi + else + __rvm_log "info" "$gemdir does not exist, dirtywork alredy done." + fi + unset gemdir + else + __rvm_log "error" "A gemset name must be specified in order to delete a gemset." + fi +} + +function __rvm_gemset_dump { + rvm_gem_set_name=${rvm_gem_set_name:-"default"} + rvm_file_name=${rvm_file_name:-$rvm_gem_set_name} + echo "# $rvm_gem_set_name.gemset generated gem dump file. Note that any env variable settings will be missing. Append these after using a ';' field separator" > $rvm_gem_set_name.gemset - for gem in `gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';'` ; do + for gem in $(gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';') ; do name=`echo $gem | awk -F';' '{print $1}'` if [ -z "$rvm_latest_flag" ] ; then versions=`echo $gem | awk -F';' '{print $2}' | sed 's/,/ /g'` for version in $versions ; do echo "$name -v$version" >> $rvm_file_name @@ -688,11 +719,13 @@ fi ; unset name done ; unset file_name } function __rvm_gemset_load { - if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi - echo "Loading $rvm_file file..." + rvm_gem_set_name=${rvm_gem_set_name:-"default"} + rvm_file_name=${rvm_file_name:-$rvm_gem_set_name} + + echo "Loading $rvm_file_name file..." rvm_ruby_gem_list=`/bin/ls $rvm_gem_home/specifications/ 2> /dev/null | sed 's/\.gemspec$//' 2> /dev/null` while read line do # Keep this on 2nd line :( bash fail. # TODO: Switch to a different field separator than ; to allow for evals gem=`echo $line | awk -F';' '{print $1}'`