class Gem::Commands::RebuildCommand

def execute

def execute
  gem_name, gem_version = get_gem_name_and_version
  old_dir, new_dir = prep_dirs
  gem_filename = "#{gem_name}-#{gem_version}.gem"
  old_file = File.join(old_dir, gem_filename)
  new_file = File.join(new_dir, gem_filename)
  if options[:original_gem_file]
    FileUtils.copy_file(options[:original_gem_file], old_file)
  else
    download_gem(gem_name, gem_version, old_file)
  end
  rg_version = rubygems_version(old_file)
  unless rg_version == Gem::VERSION
    alert_error <<-EOF
u need to use the same RubyGems version #{gem_name} v#{gem_version} was built with.
gem_name} v#{gem_version} was built using RubyGems v#{rg_version}.
m files include the version of RubyGems used to build them.
is means in order to reproduce #{gem_filename}, you must also use RubyGems v#{rg_version}.
u're using RubyGems v#{Gem::VERSION}.
ease install RubyGems v#{rg_version} and try again.
    EOF
    terminate_interaction 1
  end
  source_date_epoch = get_timestamp(old_file).to_s
  if build_path = options[:build_path]
    Dir.chdir(build_path) { build_gem(gem_name, source_date_epoch, new_file) }
  else
    build_gem(gem_name, source_date_epoch, new_file)
  end
  compare(source_date_epoch, old_file, new_file)
end