aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/update.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/update.rb')
-rw-r--r--Library/Homebrew/update.rb146
1 files changed, 0 insertions, 146 deletions
diff --git a/Library/Homebrew/update.rb b/Library/Homebrew/update.rb
deleted file mode 100644
index 9e4fb90d9..000000000
--- a/Library/Homebrew/update.rb
+++ /dev/null
@@ -1,146 +0,0 @@
-class RefreshBrew
- REPOSITORY_URL = "http://github.com/mxcl/homebrew.git"
- INIT_COMMAND = "git init"
- CHECKOUT_COMMAND = "git checkout -q master"
- UPDATE_COMMAND = "git pull #{REPOSITORY_URL} master"
- REVISION_COMMAND = "git log -l -1 --pretty=format:%H 2> /dev/null"
- GIT_UP_TO_DATE = "Already up-to-date."
-
- formula_regexp = 'Library/Formula/(.+?)\.rb'
- ADDED_FORMULA = %r{^\s+create mode \d+ #{formula_regexp}$}
- UPDATED_FORMULA = %r{^\s+#{formula_regexp}\s}
- DELETED_FORMULA = %r{^\s+delete mode \d+ #{formula_regexp}$}
-
- example_regexp = 'Library/Contributions/examples/([^.\s]+).*'
- ADDED_EXAMPLE = %r{^\s+create mode \d+ #{example_regexp}$}
- UPDATED_EXAMPLE = %r{^\s+#{example_regexp}}
- DELETED_EXAMPLE = %r{^\s+delete mode \d+ #{example_regexp}$}
-
- attr_reader :added_formulae, :updated_formulae, :deleted_formulae, :initial_revision
- attr_reader :added_examples, :updated_examples, :deleted_examples
-
- def initialize
- @added_formulae, @updated_formulae, @deleted_formulae = [], [], []
- @added_examples, @updated_examples, @deleted_examples = [], [], []
- @initial_revision = self.current_revision
- end
-
- # Performs an update of the homebrew source. Returns +true+ if a newer
- # version was available, +false+ if already up-to-date.
- def update_from_masterbrew!
- output = ''
- HOMEBREW_REPOSITORY.cd do
- if File.directory? '.git'
- safe_system CHECKOUT_COMMAND
- else
- safe_system INIT_COMMAND
- end
- output = execute(UPDATE_COMMAND)
- end
-
- output.split("\n").reverse.each do |line|
- case line
- when ADDED_FORMULA
- @added_formulae << $1
- when DELETED_FORMULA
- @deleted_formulae << $1
- when UPDATED_FORMULA
- @updated_formulae << $1 unless @added_formulae.include?($1) or @deleted_formulae.include?($1)
- when ADDED_EXAMPLE
- @added_examples << $1
- when DELETED_EXAMPLE
- @deleted_examples << $1
- when UPDATED_EXAMPLE
- @updated_examples << $1 unless @added_examples.include?($1) or @deleted_examples.include?($1)
- end
- end
- @added_formulae.sort!
- @updated_formulae.sort!
- @deleted_formulae.sort!
- @added_examples.sort!
- @updated_examples.sort!
- @deleted_examples.sort!
-
- output.strip != GIT_UP_TO_DATE
- end
-
- def pending_formulae_changes?
- !@updated_formulae.empty?
- end
-
- def pending_new_formulae?
- !@added_formulae.empty?
- end
-
- def deleted_formulae?
- !@deleted_formulae.empty?
- end
-
- def pending_examples_changes?
- !@updated_examples.empty?
- end
-
- def pending_new_examples?
- !@added_examples.empty?
- end
-
- def deleted_examples?
- !@deleted_examples.empty?
- end
-
- def current_revision
- HOMEBREW_REPOSITORY.cd { execute(REVISION_COMMAND).strip }
- rescue
- 'TAIL'
- end
-
- def report
- puts "Updated Homebrew from #{initial_revision[0,8]} to #{current_revision[0,8]}."
- ## New Formulae
- if pending_new_formulae?
- ohai "The following formulae are new:"
- puts_columns added_formulae
- end
- ## Deleted Formulae
- if deleted_formulae?
- ohai "The following formulae were removed:"
- puts_columns deleted_formulae
- end
- ## Updated Formulae
- if pending_formulae_changes?
- ohai "The following formulae were updated:"
- puts_columns updated_formulae
- else
- puts "No formulae were updated."
- end
- ## New examples
- if pending_new_examples?
- ohai "The following external commands are new:"
- puts_columns added_examples
- end
- ## Deleted examples
- if deleted_examples?
- ohai "The following external commands were removed:"
- puts_columns deleted_examples
- end
- ## Updated Formulae
- if pending_examples_changes?
- ohai "The following external commands were updated:"
- puts_columns updated_examples
- else
- puts "No external commands were updated."
- end
- end
-
- private
-
- def execute(cmd)
- out = `#{cmd}`
- if $? && !$?.success?
- puts out
- raise "Failed while executing #{cmd}"
- end
- ohai(cmd, out) if ARGV.verbose?
- out
- end
-end