diff options
Diffstat (limited to 'Library/Homebrew/cmd/untap.rb')
| -rw-r--r-- | Library/Homebrew/cmd/untap.rb | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/Library/Homebrew/cmd/untap.rb b/Library/Homebrew/cmd/untap.rb index 78778e6fc..80d38934b 100644 --- a/Library/Homebrew/cmd/untap.rb +++ b/Library/Homebrew/cmd/untap.rb @@ -1,4 +1,5 @@  require 'cmd/tap' # for Pathname.recursive_formula +require 'tempfile'  module Homebrew extend self    def untap @@ -7,11 +8,19 @@ module Homebrew extend self      raise "No such tap!" unless tapd.directory? +    gitignores = (HOMEBREW_PREFIX/"Library/Formula/.gitignore").read.split rescue [] +      tapd.find_formula do |pn| -      pn = HOMEBREW_REPOSITORY/"Library/Formula"/pn.basename +      bn = pn.basename.to_s +      pn = HOMEBREW_REPOSITORY/"Library/Formula"/bn        pn.delete if pn.symlink? and pn.realpath.to_s =~ %r[^#{tapd.realpath}] +      gitignores.delete(bn)      end -      rm_rf tapd + +    tf = Tempfile.new("brew-untap") +    tf.write(gitignores.join("\n")) +    tf.close +    mv tf.path, "#{HOMEBREW_PREFIX}/Library/Formula/.gitignore"    end  end | 
