scripts/ruby-installer in rvm-0.0.67 vs scripts/ruby-installer in rvm-0.0.68
- old
+ new
@@ -10,33 +10,40 @@
if [[ ! -z "$rvm_force_flag" ]] ; then
rm -rf "$rvm_ruby_home" "$rvm_ruby_src_path"
fi
result=0
- if [[ -z "$rvm_ruby_tag" ]] && [[ -z "$rvm_ruby_revision" ]] ; then
+ # TODO: This really should be about the url instead of this hokey logic.
+ if [[ -z "$rvm_head_flag" ]] && [[ -z "$rvm_ruby_tag" ]] && [[ -z "$rvm_ruby_revision" ]] ; then
if [[ ! -f "$rvm_archives_path/$rvm_ruby_package_name.tar.gz" ]] ; then
rvm_url="${rvm_url:-"ftp://ftp.ruby-lang.org/pub/ruby/1.$rvm_major_version/$rvm_ruby_package_name.tar.gz"}"
__rvm_log "info" "Downloading $rvm_ruby_package_name, this may take a while depending on your connection..."
__rvm_fetch "$rvm_url"
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
fi
#mkdir -p "$rvm_ruby_src_path" # Is this line necessary considering -C below? v
__rvm_run "extract" "tar xzf $rvm_archives_path/$rvm_ruby_package_name.tar.gz -C $rvm_src_path" "Extracting $rvm_ruby_package_name ..."
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
else
- __rvm_log "info" "Retrieving Ruby from $rvm_url"
if [[ ! -z "$(echo $rvm_url | awk '/^git/')" ]] ; then
+
if [[ -d "$rvm_ruby_src_path/.git" ]] ; then
cd $rvm_ruby_src_path
if [[ -z "$rvm_ruby_revision" ]] ; then
+ __rvm_log "info" "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
git pull origin master
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
else
- git checkout ${rvm_ruby_revision:-HEAD}
+ if [[ -z "$rvm_ruby_sha" ]] ; then
+ git checkout HEAD
+ else
+ git checkout $(echo $rvm_ruby_sha | sed 's#^s##')
+ fi
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
fi
else
+ __rvm_log "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
fi
else
if [[ -z "$rvm_ruby_revision" ]] ; then
@@ -47,23 +54,25 @@
if [[ "head" = "$rvm_ruby_revision" ]] || [[ "trunk" = "$rvm_ruby_revision" ]] ; then
rvm_url="$rvm_ruby_repo_url/trunk"
rvm_rev=""
else
rvm_url=$rvm_ruby_repo_url/branches/ruby_1_${rvm_major_version}_${rvm_minor_version}
- rvm_rev="-r $rvm_ruby_revision"
+ rvm_rev="-$rvm_ruby_revision"
fi
fi
if [[ -d "$rvm_ruby_src_path/.svn" ]] ; then
cd $rvm_ruby_src_path
- if [[ -z "$rvm_rev" ]] ; then
- __rvm_run "svn.update" "svn update"
- else
- __rvm_run "svn.checkout" "svn checkout -q $rvm_rev"
+ __rvm_log "info" "Updating ruby from $rvm_url"
+ __rvm_run "svn.update" "svn update"
+ if [[ ! -z "$rvm_rev" ]] ; then
+ __rvm_log "info" "Checking out revision ${rvm_rev/-r/-r } from $rvm_url"
+ __rvm_run "svn.checkout" "svn update -q ${rvm_rev/-r/-r }"
fi
else
- __rvm_run "svn.checkout" "svn checkout -q $rvm_rev --force $rvm_url $rvm_ruby_src_path"
+ rm -rf $rvm_ruby_src_path
+ __rvm_run "svn.checkout" "svn checkout -q ${rvm_rev/-r/-r } $rvm_url $rvm_ruby_src_path"
fi
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
fi
fi
@@ -533,12 +542,13 @@
else
__rvm_log "info" "Installing rubygems dedicated to $rvm_ruby_package_name..."
rvm_gem_package_name="rubygems-1.3.5"
rvm_gem_url="http://rubyforge.org/frs/download.php/60718/$rvm_gem_package_name.tgz"
- if [[ -d "$rvm_src_path/$rvm_gem_package_name" ]] ; then
+ if [[ -d "$rvm_src_path/$rvm_gem_package_name" ]] && [[ -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
cd "$rvm_src_path/$rvm_gem_package_name"
else
+ rm -rf "$rvm_src_path/$rvm_gem_package_name"
__rvm_log "info" "Retrieving $rvm_gem_package_name"
__rvm_fetch "$rvm_gem_url"
mkdir -p "$rvm_src_path/$rvm_gem_package_name"
__rvm_run "rubygems.extract" "tar zxf $rvm_archives_path/$rvm_gem_package_name.tgz -C $rvm_src_path" "Extracting $rvm_gem_package_name"
fi