update: implement rename_taps_dir_if_necessary in bash
rename_taps_dir_if_necessary must be performed before actual update. Otherwise, it will report that `HOMEBREW_UPDAET_BEFORE<REPO_VAR>` is unset.
This commit is contained in:
parent
ca59d6fbee
commit
fafe8f0f53
@ -44,6 +44,36 @@ git_init_if_necessary() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rename_taps_dir_if_necessary() {
|
||||||
|
local tap_dir
|
||||||
|
for tap_dir in "$HOMEBREW_LIBRARY"/Taps/*
|
||||||
|
do
|
||||||
|
[[ -d "$tap_dir/.git" ]] || continue
|
||||||
|
local tap_dir_basename
|
||||||
|
tap_dir_basename="${tap_dir##*/}"
|
||||||
|
if [[ "$tap_dir_basename" = *"-"* ]]
|
||||||
|
then
|
||||||
|
# only replace the *last* dash: yes, tap filenames suck
|
||||||
|
local user
|
||||||
|
local repo
|
||||||
|
user="$(echo "${tap_dir_basename%-*}" | tr "[:upper:]" "[:lower:]")"
|
||||||
|
repo="$(echo "${tap_dir_basename:${#user}+1}" | tr "[:upper:]" "[:lower:]")"
|
||||||
|
mkdir -p "$HOMEBREW_LIBRARY/Taps/$user"
|
||||||
|
mv "$tap_dir", "$HOMEBREW_LIBRARY/Taps/$user/homebrew-$repo"
|
||||||
|
|
||||||
|
if [[ ${#${tap_dir_basename//[^\-]}} -gt 1 ]]
|
||||||
|
then
|
||||||
|
echo "Homebrew changed the structure of Taps like <someuser>/<sometap>." >&2
|
||||||
|
echo "So you may need to rename $HOMEBREW_LIBRARY/Taps/$user/homebrew-$repo manually." >&2
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Homebrew changed the structure of Taps like <someuser>/<sometap>. " >&2
|
||||||
|
echo "$tap_dir is an incorrect Tap path." >&2
|
||||||
|
echo "So you may need to rename it to $HOMEBREW_LIBRARY/Taps/<someuser>/homebrew-<sometap> manually." >&2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
repo_var() {
|
repo_var() {
|
||||||
local repo_var="$1"
|
local repo_var="$1"
|
||||||
if [[ "$repo_var" = "$HOMEBREW_REPOSITORY" ]]
|
if [[ "$repo_var" = "$HOMEBREW_REPOSITORY" ]]
|
||||||
@ -247,6 +277,9 @@ EOS
|
|||||||
|
|
||||||
chdir "$HOMEBREW_REPOSITORY"
|
chdir "$HOMEBREW_REPOSITORY"
|
||||||
git_init_if_necessary
|
git_init_if_necessary
|
||||||
|
# rename Taps directories
|
||||||
|
# this procedure will be removed in the future if it seems unnecessary
|
||||||
|
rename_taps_dir_if_necessary
|
||||||
|
|
||||||
for DIR in "$HOMEBREW_REPOSITORY" "$HOMEBREW_LIBRARY"/Taps/*/*
|
for DIR in "$HOMEBREW_REPOSITORY" "$HOMEBREW_LIBRARY"/Taps/*/*
|
||||||
do
|
do
|
||||||
|
@ -23,10 +23,6 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
report.update(master_updater.report)
|
report.update(master_updater.report)
|
||||||
|
|
||||||
# rename Taps directories
|
|
||||||
# this procedure will be removed in the future if it seems unnecessasry
|
|
||||||
rename_taps_dir_if_necessary
|
|
||||||
|
|
||||||
updated_taps = []
|
updated_taps = []
|
||||||
Tap.each do |tap|
|
Tap.each do |tap|
|
||||||
next unless tap.git?
|
next unless tap.git?
|
||||||
@ -106,34 +102,6 @@ module Homebrew
|
|||||||
`git rev-parse --short #{revision}`.chomp
|
`git rev-parse --short #{revision}`.chomp
|
||||||
end
|
end
|
||||||
|
|
||||||
def rename_taps_dir_if_necessary
|
|
||||||
Dir.glob("#{HOMEBREW_LIBRARY}/Taps/*/") do |tapd|
|
|
||||||
begin
|
|
||||||
if File.directory?(tapd + "/.git")
|
|
||||||
tapd_basename = File.basename(tapd)
|
|
||||||
if tapd_basename.include?("-")
|
|
||||||
# only replace the *last* dash: yes, tap filenames suck
|
|
||||||
user, repo = tapd_basename.reverse.sub("-", "/").reverse.split("/")
|
|
||||||
|
|
||||||
FileUtils.mkdir_p("#{HOMEBREW_LIBRARY}/Taps/#{user.downcase}")
|
|
||||||
FileUtils.mv(tapd, "#{HOMEBREW_LIBRARY}/Taps/#{user.downcase}/homebrew-#{repo.downcase}")
|
|
||||||
|
|
||||||
if tapd_basename.count("-") >= 2
|
|
||||||
opoo "Homebrew changed the structure of Taps like <someuser>/<sometap>. "\
|
|
||||||
+ "So you may need to rename #{HOMEBREW_LIBRARY}/Taps/#{user.downcase}/homebrew-#{repo.downcase} manually."
|
|
||||||
end
|
|
||||||
else
|
|
||||||
opoo "Homebrew changed the structure of Taps like <someuser>/<sometap>. "\
|
|
||||||
"#{tapd} is incorrect name format. You may need to rename it like <someuser>/<sometap> manually."
|
|
||||||
end
|
|
||||||
end
|
|
||||||
rescue => ex
|
|
||||||
onoe ex.message
|
|
||||||
next # next tap directory
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def load_tap_migrations
|
def load_tap_migrations
|
||||||
load "tap_migrations.rb"
|
load "tap_migrations.rb"
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
|
Loading…
x
Reference in New Issue
Block a user