diff options
| author | Adam Vandenberg | 2010-10-17 17:52:10 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-10-17 17:52:10 -0700 |
| commit | 3ca30d2d5b5664216446f9752d81129d4a758bdd (patch) | |
| tree | 437c053e8aa334187f81254edf5515cc170f9af8 | |
| parent | 55152f0be4e03f465bbc7d4fb6c78de4d13369ef (diff) | |
| download | homebrew-3ca30d2d5b5664216446f9752d81129d4a758bdd.tar.bz2 | |
Add remove --force
| -rw-r--r-- | Library/Contributions/manpages/brew.1.md | 5 | ||||
| -rwxr-xr-x | bin/brew | 31 | ||||
| -rw-r--r-- | share/man/man1/brew.1 | 5 |
3 files changed, 31 insertions, 10 deletions
diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 815492652..8a327b737 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -99,9 +99,12 @@ didn't include with OS X. * `home` <formula>: Opens a browser to <formula>'s homepage. - * `rm`, `remove` <formula>: + * `rm`, `remove [--force]` <formula>: Uninstalls <formula>. + If `--force` is passed, and there are multiple versions of <formula> + installed, deletes all installed versions. + * `create [--cache]` <URL>: Generates a formula for the downloadable file at <URL> and opens it in $EDITOR. Homebrew will attempt to automatically derive the formula name @@ -188,15 +188,30 @@ begin ARGV.kegs.each {|keg| puts "#{keg.unlink} links removed for #{keg}"} when 'rm', 'uninstall', 'remove' - begin - ARGV.kegs.each do |keg| - puts "Uninstalling #{keg}..." - keg.unlink - keg.uninstall + if ARGV.flag? "--force" + require 'formula' + ARGV.formulae.each do |f| + formula_cellar = f.prefix.parent + next unless File.exist? formula_cellar + puts "Uninstalling #{f.name}..." + formula_cellar.children do |k| + keg = Keg.new(k) + keg.unlink + end + + formula_cellar.rmtree + end + else + begin + ARGV.kegs.each do |keg| + puts "Uninstalling #{keg}..." + keg.unlink + keg.uninstall + end + rescue MultipleVersionsInstalledError => e + onoe e + puts "Use `brew remove --force #{e.name}` to remove all versions." end - rescue MultipleVersionsInstalledError => e - onoe e - puts "Use `brew remove --force #{e.name}` to remove all versions." end when 'prune' diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 50a71328b..f03a623eb 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -105,9 +105,12 @@ Opens a browser to Homebrew\'s own homepage\. Opens a browser to \fIformula\fR\'s homepage\. . .TP -\fBrm\fR, \fBremove\fR \fIformula\fR +\fBrm\fR, \fBremove [\-\-force]\fR \fIformula\fR Uninstalls \fIformula\fR\. . +.IP +If \fB\-\-force\fR is passed, and there are multiple versions of \fIformula\fR installed, deletes all installed versions\. +. .TP \fBcreate [\-\-cache]\fR \fIURL\fR Generates a formula for the downloadable file at \fIURL\fR and opens it in $EDITOR\. Homebrew will attempt to automatically derive the formula name and version, if it fails, you\'ll have to make your own template\. I suggest copying wget\'s\. |
