2018-05-29 10:57:33 +02:00

48 lines
1.2 KiB
Ruby

class Tap
module Compat
def initialize(user, repo)
super
return unless user == "caskroom"
old_initial_revision_var = "HOMEBREW_UPDATE_BEFORE#{repo_var}"
old_current_revision_var = "HOMEBREW_UPDATE_AFTER#{repo_var}"
new_user = "Homebrew"
new_repo = (repo == "cask") ? repo : "cask-#{repo}"
old_name = name
old_path = path
old_remote = path.git_origin
clear_cache
super(new_user, new_repo)
return unless old_path.directory?
new_initial_revision_var = "HOMEBREW_UPDATE_BEFORE#{repo_var}"
new_current_revision_var = "HOMEBREW_UPDATE_AFTER#{repo_var}"
ENV[new_initial_revision_var] ||= ENV[old_initial_revision_var]
ENV[new_current_revision_var] ||= ENV[old_current_revision_var]
new_name = name
new_path = path
new_remote = default_remote
ohai "Migrating tap #{old_name} to #{new_name}..." if $stdout.tty?
if old_path.git?
puts "Changing remote from #{old_remote} to #{new_remote}..." if $stdout.tty?
old_path.git_origin = new_remote
end
puts "Moving #{old_path} to #{new_path}..." if $stdout.tty?
path.dirname.mkpath
FileUtils.mv old_path, new_path
end
end
prepend Compat
end