rvm 0.1.37 → 0.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/install CHANGED
@@ -171,8 +171,8 @@ fi
171
171
  #
172
172
  spinner
173
173
  mkdir -p "$rvm_gemsets_path"
174
- for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
- source_path="$install_source_path/gemsets"
174
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
+ source_path="$(pwd)/gemsets"
176
176
  destination="$rvm_gemsets_path/$gemset_file"
177
177
  destination_path="$(dirname "$destination")"
178
178
  if [[ ! -s "$destination" ]] ; then
@@ -271,10 +271,10 @@ printf "\n ~ Wayne\n"
271
271
 
272
272
  if [[ "$upgrade_flag" -eq 1 ]] ; then
273
273
  printf "\n$(tput setaf 6)Upgrade Notes\n"
274
- printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
275
- printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
276
274
  printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
275
+ printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
277
276
  printf "\n * 1.8.7 default patchlevel is p174, override ~/.rvm/config/db in ~/.rvm/config/user"
277
+ printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
278
278
  printf "\n$(tput sgr0)\n"
279
279
  printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
280
280
  else
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 37
4
+ :patch: 38
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.1.37"
8
+ s.version = "0.1.38"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wayne E. Seguin"]
12
- s.date = %q{2010-06-02}
12
+ s.date = %q{2010-06-03}
13
13
  s.default_executable = %q{rvm-install}
14
14
  s.description = %q{Manages Ruby interpreter environments and switching between them.}
15
15
  s.email = %q{wayneeseguin@gmail.com}
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ unset rvm_default_flag rvm_wrapper_name
4
+
3
5
  if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
4
6
 
5
7
  trap "if [[ -d $rvm_tmp_path/ ]] && [[ -f $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
@@ -41,7 +43,7 @@ create_alias() {
41
43
  if [[ -z "$rvm_alias" ]] ; then
42
44
  rvm_ruby_string="$rvm_environment_identifier"
43
45
  rvm_expanding_aliases=1
44
- __rvm_ruby_string >& /dev/null
46
+ __rvm_become
45
47
  unset rvm_expanding_aliases
46
48
  if [[ -z "$rvm_ruby_string" ]]; then
47
49
  $rvm_scripts_path/log "error" "unknown ruby string specified"
@@ -3,6 +3,9 @@
3
3
  __rvm_usage() { cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less} ; }
4
4
 
5
5
  __rvm_parse_args() {
6
+
7
+ echo "$@" >> $HOME/.rvm_history
8
+
6
9
  if echo "$@" | grep -q 'trace' ; then echo "$@" ; __rvm_version ; fi
7
10
 
8
11
  while [[ $# -gt 0 ]] ; do
@@ -290,6 +293,13 @@ __rvm_parse_args() {
290
293
  rvm_wrapper_name="${rvm_token/--/}"
291
294
  ;;
292
295
 
296
+ --alias)
297
+ if [[ -n "$1" ]]; then
298
+ export rvm_ruby_aliases="$(echo "$1" | tr ',' ' ')"
299
+ shift
300
+ fi
301
+ ;;
302
+
293
303
  --symlink)
294
304
  $rvm_scripts_path/log "warn" "--symlink has been removed, please see 'rvm wrapper'."
295
305
  shift
@@ -492,7 +502,9 @@ rvm() {
492
502
  __rvm_gemset_use
493
503
  fi
494
504
  else
505
+ export rvm_ruby_strings
495
506
  $rvm_scripts_path/gemsets $rvm_ruby_args
507
+ unset rvm_ruby_strings
496
508
 
497
509
  # Clear the gemset.
498
510
  if [[ "$rvm_delete_flag" -eq 1 ]] ; then
@@ -21,10 +21,8 @@ if [[ -z "$environment_name" ]]; then
21
21
  usage ; exit 1
22
22
  fi
23
23
 
24
- rvm_ruby_string="${environment_name}" ;
25
-
26
- # Ensure the string is valid before printing an env.
27
- { __rvm_ruby_string && __rvm_select && __rvm_use; }> /dev/null 2>&1
24
+ # Exit when we encounter an unknown environment name.
25
+ __rvm_become "$environment_name"
28
26
 
29
27
  if [[ "$?" = 0 ]]; then
30
28
  __rvm_use
@@ -6,9 +6,9 @@ trap "if [[ -d $rvm_tmp_path/ ]] && [[ -f $rvm_tmp_path/$$ ]] ; then rm -f $rvm_
6
6
 
7
7
  record_md5() {
8
8
  if [[ "Darwin" = "$(uname)" ]] || [[ "FreeBSD" = "$(uname)" ]]; then
9
- archive_md5="$(/sbin/md5 $archive | awk '{print $NF}')"
9
+ archive_md5="$(/sbin/md5 -q "${archive}")"
10
10
  else
11
- archive_md5="$(md5sum $archive | awk '{print $1}')"
11
+ archive_md5="$(md5sum "${archive}" | awk '{print $1}')"
12
12
  fi
13
13
  $rvm_scripts_path/db "$rvm_config_path/md5" "$archive" "$archive_md5"
14
14
  }
@@ -342,39 +342,18 @@ gemset_initial() {
342
342
  for gemsets_path in "$rvm_gemsets_path" "$rvm_gemsets_path/$rvm_ruby_interpreter" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version" "$rvm_gemsets_path/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_ruby_patch_level" ; do
343
343
  if [[ ! -z "$rvm_gemset_name" ]] ; then
344
344
  if [[ -s "${gemsets_path}/${rvm_gemset_name}.gems" ]] ; then
345
- printf $(rvm gemset import "${gemsets_path}/${rvm_gemset_name}.gems") > /dev/null
345
+ (source "$rvm_scripts_path/rvm"; rvm gemset import "${gemsets_path}/${rvm_gemset_name}.gems") > /dev/null
346
346
  fi
347
347
  else
348
348
  if [[ -d "$gemsets_path" ]] && [[ -s "${gemsets_path}/default.gems" ]] ; then
349
- printf $(rvm gemset import "$gemsets_path/default.gems") > /dev/null
349
+ (source "$rvm_scripts_path/rvm"; rvm gemset import "$gemsets_path/default.gems") > /dev/null
350
350
  fi
351
351
  if [[ -d "$gemsets_path" ]] && [[ -s "${gemsets_path}/global.gems" ]] ; then
352
- printf $(rvm use "$rvm_ruby_string@global" --create ; rvm gemset import "${gemsets_path}/global.gems") > /dev/null
352
+ (source "$rvm_scripts_path/rvm"; rvm use "$rvm_ruby_string@global" --create ; rvm gemset import "${gemsets_path}/global.gems") > /dev/null
353
353
  fi
354
354
  fi
355
355
  done
356
356
  $rvm_scripts_path/log "info" "Installation of gems for $(__rvm_environment_identifier) is complete."
357
-
358
- # Original code, which swapped out the environments on the fly.
359
- #post_install_gems="rdoc rake"
360
- #for rvm_gem_name in $(echo $post_install_gems); do
361
- # home="$GEM_HOME" ; path="$GEM_PATH" # Save
362
- # for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
363
- # GEM_HOME="$dir" ; GEM_PATH="$dir" ; BUNDLE_PATH="$dir"
364
- # export GEM_HOME GEM_PATH BUNDLE_PATH
365
- # __rvm_run "gems.install" "$rvm_ruby_home/bin/gem install --no-rdoc --no-ri $rvm_gem_name $rvm_gem_options" "Installing $rvm_gem_name to $dir"
366
-
367
- # if [[ -x $rvm_ruby_gem_home/bin/$rvm_gem_name ]] ; then
368
- # if [[ "$rvm_ruby_gem_home" != "$rvm_ruby_home" ]] && [[ ! -x $rvm_ruby_home/bin/$rvm_gem_name ]] ; then
369
- # ln -nfs $rvm_ruby_gem_home/bin/$rvm_gem_name $rvm_ruby_home/bin/$rvm_gem_name
370
- # fi
371
- # __rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$rvm_gem_name"
372
- # __rvm_inject_gem_env "$rvm_ruby_home/bin/$rvm_gem_name"
373
- # fi
374
- # done ; unset home path dir
375
- # GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
376
- # export GEM_HOME GEM_PATH BUNDLE_PATH
377
- #done ; unset rvm_gem_name post_install_gems
378
357
  }
379
358
 
380
359
  unset GEM_PATH
@@ -389,7 +368,17 @@ gems_args=$(echo "$*" | awk '{$1="" ; print}' | sed -e 's/^[[:space:]]*//' -e 's
389
368
  export rvm_gemset_name
390
369
 
391
370
  if [[ "import" = "$action" ]] || [[ "load" = "$action" ]] ; then
392
- gemset_import
371
+ if [[ -z "$rvm_ruby_strings" ]]; then
372
+ gemset_import
373
+ else
374
+ original_env="$(__rvm_environment_identifier)"
375
+ for rvm_ruby_string in $(echo "$rvm_ruby_strings" | tr "," " "); do
376
+ __rvm_become
377
+ gemset_import
378
+ done
379
+ __rvm_become "$original_env"
380
+ unset original_env
381
+ fi
393
382
  elif [[ "export" = "$action" ]] || [[ "dump" = "$action" ]] ; then
394
383
  gemset_export
395
384
  elif [[ "create" = "$action" ]] ; then
@@ -135,7 +135,7 @@ if [[ -z "$ruby_strings" ]] ; then
135
135
  info_sections
136
136
  else
137
137
  for ruby_string in $(printf $ruby_strings | tr ',' ' ') ; do
138
- rvm_ruby_string="${ruby_string}" ; __rvm_select ; __rvm_use
138
+ __rvm_become "$ruby_string"
139
139
  printf "$(__rvm_environment_identifier):\n"
140
140
  info_sections
141
141
  done
@@ -171,8 +171,8 @@ fi
171
171
  #
172
172
  spinner
173
173
  mkdir -p "$rvm_gemsets_path"
174
- for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
- source_path="$install_source_path/gemsets"
174
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
+ source_path="$(pwd)/gemsets"
176
176
  destination="$rvm_gemsets_path/$gemset_file"
177
177
  destination_path="$(dirname "$destination")"
178
178
  if [[ ! -s "$destination" ]] ; then
@@ -271,10 +271,10 @@ printf "\n ~ Wayne\n"
271
271
 
272
272
  if [[ "$upgrade_flag" -eq 1 ]] ; then
273
273
  printf "\n$(tput setaf 6)Upgrade Notes\n"
274
- printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
275
- printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
276
274
  printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
275
+ printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
277
276
  printf "\n * 1.8.7 default patchlevel is p174, override ~/.rvm/config/db in ~/.rvm/config/user"
277
+ printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
278
278
  printf "\n$(tput sgr0)\n"
279
279
  printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
280
280
  else
@@ -101,6 +101,7 @@ __rvm_install_source() {
101
101
  }
102
102
 
103
103
  __rvm_install_ruby() {
104
+
104
105
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
105
106
 
106
107
  if [[ ! -z "$RUBYOPT" ]] ; then ruby_options="$RUBYOPT" ; unset RUBYOPT ; fi
@@ -638,7 +639,6 @@ RubyWrapper
638
639
  *) $rvm_scripts_path/log "fail" "Ruby interpreter '$rvm_ruby_interpreter' is not known."
639
640
 
640
641
  esac
641
-
642
642
 
643
643
  # Import the initial gemsets.
644
644
  (source $rvm_scripts_path/rvm; rvm use "$rvm_ruby_string"; $rvm_scripts_path/gemsets initial)
@@ -764,6 +764,16 @@ __rvm_fetch_ruby() {
764
764
  fi
765
765
  }
766
766
 
767
+ __rvm_check_default() {
768
+ default_ruby_interpreter="$(rvm alias show default 2>/dev/null | awk -F"${rvm_gemset_seperator:-"@"}" '{print $1}')"
769
+ current_ruby_interpreter="$(echo "$rvm_ruby_string" | awk -F"${rvm_gemset_seperator:-"@"}" '{print $1}')"
770
+ if [[ -n "$current_ruby_interpreter" && "$current_ruby_interpreter" == "$default_ruby_interpreter" ]]; then
771
+ # In a new subshell, set the default interpeter to system.
772
+ (source $rvm_scripts_path/rvm; rvm use system --default)
773
+ fi
774
+ unset default_ruby_interpreter current_ruby_interpreter
775
+ }
776
+
767
777
  __rvm_uninstall_ruby() {
768
778
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
769
779
 
@@ -780,6 +790,9 @@ __rvm_uninstall_ruby() {
780
790
  fi
781
791
  done ; unset dir
782
792
  __rvm_remove_gemsets
793
+
794
+ __rvm_check_default
795
+
783
796
  else
784
797
  $rvm_scripts_path/log "fail" "Cannot uninstall unknown package '$rvm_ruby_string'"
785
798
  fi ; unset rvm_uninstall_flag
@@ -801,9 +814,8 @@ __rvm_remove_ruby() {
801
814
  rm -f $rvm_bin_path/$rvm_ruby_string
802
815
  fi
803
816
 
804
- if grep -q "$rvm_ruby_string" "$rvm_config_path/default" 2>/dev/null ; then
805
- rm -f "$rvm_config_path/default"
806
- fi
817
+ __rvm_check_default
818
+
807
819
  done ; unset dir
808
820
  __rvm_remove_gemsets
809
821
  else
@@ -839,6 +851,17 @@ __rvm_post_install() {
839
851
 
840
852
  __rvm_irbrc
841
853
  __rvm_generate_default_docs
854
+
855
+ if [[ -n "$rvm_ruby_aliases" ]]; then
856
+ $rvm_scripts_path/log "info" "Setting up aliases for $rvm_ruby_string"
857
+ for ruby_alias in $rvm_ruby_aliases; do
858
+ $rvm_scripts_path/log "info" "Aliasing $rvm_ruby_string to $ruby_alias"
859
+ $rvm_scripts_path/alias delete "$ruby_alias" > /dev/null 2>&1
860
+ $rvm_scripts_path/alias create "$ruby_alias" "$rvm_ruby_string" > /dev/null 2>&1
861
+ done
862
+ unset rvm_ruby_aliases ruby_alias
863
+ fi
864
+
842
865
  }
843
866
 
844
867
  __rvm_generate_default_docs() {
@@ -171,8 +171,8 @@ fi
171
171
  #
172
172
  spinner
173
173
  mkdir -p "$rvm_gemsets_path"
174
- for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
- source_path="$install_source_path/gemsets"
174
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
+ source_path="$(pwd)/gemsets"
176
176
  destination="$rvm_gemsets_path/$gemset_file"
177
177
  destination_path="$(dirname "$destination")"
178
178
  if [[ ! -s "$destination" ]] ; then
@@ -271,10 +271,10 @@ printf "\n ~ Wayne\n"
271
271
 
272
272
  if [[ "$upgrade_flag" -eq 1 ]] ; then
273
273
  printf "\n$(tput setaf 6)Upgrade Notes\n"
274
- printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
275
- printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
276
274
  printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
275
+ printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
277
276
  printf "\n * 1.8.7 default patchlevel is p174, override ~/.rvm/config/db in ~/.rvm/config/user"
277
+ printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
278
278
  printf "\n$(tput sgr0)\n"
279
279
  printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
280
280
  else
@@ -293,12 +293,19 @@ __rvm_use() {
293
293
  new_path="$GEM_HOME/bin:$rvm_ruby_global_gems_path/bin:$MY_RUBY_HOME/bin:$rvm_bin_path:$new_path"
294
294
  fi
295
295
 
296
+ # Export ruby string and gem set me for extrenal scripts to take advantage of them.
297
+ if [[ ! -z "$rvm_ruby_string" ]] ; then export rvm_ruby_string ; fi
298
+ if [[ ! -z "$rvm_gemset_name" ]] ; then export rvm_gemset_name ; fi
299
+ if [[ ! -z "$new_path" ]] ; then export PATH="$new_path" ; unset new_path ; fi
300
+ if [[ ! -z "$rvm_rvmrc_flag" ]] ; then __rvm_set_rvmrc ; fi
301
+
302
+ environment_id="$(__rvm_environment_identifier)"
303
+
296
304
  if [[ ! -z "$rvm_default_flag" ]] && [[ "default" != "$rvm_ruby_interpreter" ]] ; then
297
305
  if [[ "root" = "$(whoami)" ]] ; then
298
306
  # By not providing the name it uses the base ruby binary names.
299
307
  $rvm_scripts_path/wrapper $rvm_ruby_string
300
308
  fi
301
- local environment_id="$(__rvm_environment_identifier)"
302
309
  if [[ "system" = "$rvm_ruby_interpreter" ]] ; then
303
310
  $rvm_scripts_path/alias delete default &> /dev/null
304
311
  rm -f $rvm_config_path/default
@@ -308,7 +315,6 @@ __rvm_use() {
308
315
  else
309
316
  RUBY_VERSION="$($rvm_ruby_home/bin/ruby -v | sed 's#^\(.*\) (.*$#\1#')"
310
317
  export GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME RUBY_VERSION
311
- # Delete + then create the default alias.
312
318
  $rvm_scripts_path/alias delete default &> /dev/null
313
319
  $rvm_scripts_path/alias create default "$environment_id" >& /dev/null
314
320
  ln -nfs $rvm_environments_path/$environment_id $rvm_environments_path/default
@@ -317,15 +323,11 @@ __rvm_use() {
317
323
  fi ; unset rvm_default_flag
318
324
 
319
325
  if [[ ! -z "$rvm_wrapper_name" ]] ; then
320
- $rvm_scripts_path/wrapper "$rvm_ruby_string" "$rvm_wrapper_name" > /dev/null 2>&1
326
+ $rvm_scripts_path/wrapper "$environment_id" "$rvm_wrapper_name" > /dev/null 2>&1
321
327
  unset rvm_wrapper_name
322
328
  fi
323
329
 
324
- if [[ ! -z "$rvm_rvmrc_flag" ]] ; then __rvm_set_rvmrc ; fi
325
- # Export ruby string and gem set me for extrenal scripts to take advantage of them.
326
- if [[ ! -z "$rvm_ruby_string" ]] ; then export rvm_ruby_string ; fi
327
- if [[ ! -z "$rvm_gemset_name" ]] ; then export rvm_gemset_name ; fi
328
- if [[ ! -z "$new_path" ]] ; then export PATH="$new_path" ; unset new_path ; fi
330
+ unset environment_id
329
331
 
330
332
  if [[ "maglev" = "$rvm_ruby_interpreter" ]] ; then
331
333
  export MAGLEV_HOME="$rvm_ruby_home"
@@ -17,8 +17,8 @@ fi
17
17
 
18
18
  # Perform an action using one of a selected ruby's specified binaries.
19
19
  __rvm_ruby_do() {
20
- __rvm_select
21
- __rvm_use
20
+ # Return on invalid rubies.
21
+ __rvm_become || return 1
22
22
 
23
23
  binary="$(echo $action | sed 's#do$##')"
24
24
  if [[ -x "$rvm_ruby_home/bin/$binary" ]] ; then
@@ -171,8 +171,8 @@ fi
171
171
  #
172
172
  spinner
173
173
  mkdir -p "$rvm_gemsets_path"
174
- for gemset_file in $(cd $install_source_path/gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
- source_path="$install_source_path/gemsets"
174
+ for gemset_file in $(cd gemsets ; find . -iname '*.gems' | sed 's/\.\///') ; do
175
+ source_path="$(pwd)/gemsets"
176
176
  destination="$rvm_gemsets_path/$gemset_file"
177
177
  destination_path="$(dirname "$destination")"
178
178
  if [[ ! -s "$destination" ]] ; then
@@ -271,10 +271,10 @@ printf "\n ~ Wayne\n"
271
271
 
272
272
  if [[ "$upgrade_flag" -eq 1 ]] ; then
273
273
  printf "\n$(tput setaf 6)Upgrade Notes\n"
274
- printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
275
- printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
276
274
  printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
275
+ printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
277
276
  printf "\n * 1.8.7 default patchlevel is p174, override ~/.rvm/config/db in ~/.rvm/config/user"
277
+ printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
278
278
  printf "\n$(tput sgr0)\n"
279
279
  printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
280
280
  else
@@ -115,7 +115,7 @@ __rvm_cleanup_variables() {
115
115
 
116
116
  if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gemset_name ; else unset rvm_gemset_name ; fi
117
117
 
118
- unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch rvm_sticky_flagrvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag
118
+ unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch rvm_sticky_flag rvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag rvm_docs_flag rvm_ruby_aliases
119
119
  }
120
120
 
121
121
  # Unset ruby-specific variables
@@ -125,7 +125,6 @@ __rvm_unset_ruby_variables() {
125
125
 
126
126
  __rvm_set_rvmrc() {
127
127
  if [[ "$HOME" != "$(pwd)" ]] ; then
128
- if [[ "$rvm_create_flag" -eq 1 ]] ; then flags="--create " ; fi
129
128
  if [[ "$rvm_verbose_flag" -eq 1 ]] ; then flags="use " ; fi
130
129
 
131
130
  if [[ -s .rvmrc ]] ; then
@@ -133,7 +132,10 @@ __rvm_set_rvmrc() {
133
132
  $rvm_scripts_path/log "warning" ".rvmrc is not empty, moving aside to preserve."
134
133
  fi
135
134
 
136
- echo "rvm $flags $(basename $rvm_ruby_gem_home)" > .rvmrc
135
+ local identifier=$(__rvm_environment_identifier)
136
+ printf "if [[ -s \"$rvm_environments_path/$identifier\" ]] ; then\n . \"$rvm_environments_path/$identifier\"" > .rvmrc
137
+ printf "\nelse\n rvm --create $flags \"$identifier\"\nfi" >> .rvmrc
138
+
137
139
  unset flags
138
140
  else
139
141
  $rvm_scripts_path/log "error" ".rvmrc cannot be set in your home directory. \n The home .rvmrc is for global rvm settings only."
@@ -541,9 +543,23 @@ __rvm_environment_identifier() {
541
543
  unset ruby_string
542
544
  }
543
545
 
546
+ __rvm_become() {
547
+ [[ -n "$1" ]] && rvm_ruby_string="$1"
548
+ { __rvm_ruby_string && __rvm_select && __rvm_use; } > /dev/null 2>&1
549
+ }
550
+
544
551
  __rvm_ensure_has_enviroment_files() {
545
552
  local environment_identifier="$(__rvm_environment_identifier)"
546
553
  file_name="${rvm_environments_path}/$environment_identifier"
554
+
555
+ # Ensure system is a blank file.
556
+ if [[ "$environment_identifier" == "system" ]]; then
557
+ rm -f "$file_name"
558
+ mkdir -p "$(dirname "$file_name")"
559
+ touch "$file_name"
560
+ return
561
+ fi
562
+
547
563
  if [[ ! -s "$file_name" ]] ; then
548
564
  mkdir -p "${rvm_environments_path}"
549
565
  echo "export PATH=\"${rvm_ruby_gem_home}/bin:${rvm_ruby_global_gems_path}/bin:${rvm_ruby_home}/bin:${rvm_bin_path}:\$PATH\"" > $file_name
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- unset rvm_default_flag
3
+ # Prevent it from recursing.
4
+ unset rvm_default_flag rvm_wrapper_name
4
5
 
5
6
  source $rvm_scripts_path/initialize
6
7
  source $rvm_scripts_path/utility
@@ -70,9 +71,7 @@ if [[ -z "$binaries" ]] ; then
70
71
  fi
71
72
 
72
73
  # Use the correct ruby.
73
- rvm_ruby_string="${ruby_string}"
74
- __rvm_select > /dev/null 2>&1
75
- __rvm_use > /dev/null 2>&1
74
+ __rvm_become "$ruby_string"
76
75
 
77
76
  __rvm_ensure_has_enviroment_files
78
77
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rvm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 81
4
+ hash: 87
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 37
10
- version: 0.1.37
9
+ - 38
10
+ version: 0.1.38
11
11
  platform: ruby
12
12
  authors:
13
13
  - Wayne E. Seguin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-02 00:00:00 -04:00
18
+ date: 2010-06-03 00:00:00 -04:00
19
19
  default_executable: rvm-install
20
20
  dependencies: []
21
21