66 Commits

Author SHA1 Message Date
Mike McQuaid
3a2e6b82fd Make pinning more robust
Don’t autoremove pins on uninstall or upgrade and note this in the
manpage.
2018-02-05 10:59:11 +00:00
Markus Reiter
9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Markus Reiter
d700a5ba18 Use Formatter::pluralize where possible. 2017-05-29 17:50:13 +02:00
Mike McQuaid
566d3cb58b Document all short flags. 2017-04-02 10:14:58 +01:00
Alyssa Ross
49310667b4 Revert "uninstall: remove nil requireds/dependents"
This reverts commit d7e72899e6f24dca5e02a734d5a4e64e39fc680e.
2016-12-31 12:23:53 +00:00
Alyssa Ross
bbf53ad4ab uninstall: don't comma-seperate kegs in example
The example command given in the dependency errors/warnings previously
comma-seperated the kegs, which was incorrect syntax. This fixes that.
2016-12-30 17:45:37 +00:00
Alyssa Ross
ea3a41e213 uninstall: better example in dependency warning
Previously, this only included a subset of all the kegs the user was
trying to uninstall. With this change, all named formulae/kegs will be
included in the example command.
2016-12-30 17:44:18 +00:00
Mike McQuaid
39a0fec95d uninstall: ignore deprecations when uninstalling.
Handle `MethodDeprecatedError` because we want people to be able to
uninstall regardless of the content of their formula.
2016-11-18 09:34:58 +00:00
Mike McQuaid
d7e72899e6 uninstall: remove nil requireds/dependents
These shouldn’t get here in the first place so this is a bit of a hack
pending a better fix.
2016-11-15 14:34:49 +00:00
Alyssa Ross
ca3562645c uninstall: style fixes
Works around Rubycop not liking method names that start with `is_`
by changing convention from singular to plural.

I think it's better that way anyway.
2016-11-14 13:39:17 +00:00
Alyssa Ross
c77040b346 uninstall: clean up warnings 2016-11-14 13:09:40 +00:00
Alyssa Ross
3c310b2e3d Warn developers when uninstalling a dependency
Suggested in #1084.

Made the existing warning output entirely to STDERR, because
previously the first line went to STDERR and subsequent ones went
to STDOUT.
2016-11-14 12:13:34 +00:00
Mike McQuaid
4538d80db1 uninstall: don't need kegs to exist for --force.
Otherwise there's an error which is a regression on previous
functionality. This mirrors `rm -f` which doesn't fail if a file doesn't
exist.
2016-11-11 13:15:49 +00:00
Alyssa Ross
481a097643 uninstall: document --ignore-dependencies 2016-10-25 23:59:55 +01:00
Alyssa Ross
3702e561d6 uninstall: test should_check_for_dependents? 2016-10-25 23:53:10 +01:00
Alyssa Ross
5a3d6c4c8f uninstall, keg: update style 2016-10-25 23:48:34 +01:00
Alyssa Ross
d0ad097082 uninstall: remove duplicated method
This was moved to Keg, but looks like I forgot to get rid of it here.
2016-10-25 23:48:00 +01:00
Alyssa Ross
a4dc835ba0 uninstall: call Formula#missing_dependencies directly 2016-10-25 22:36:13 +01:00
Alyssa Ross
99a7fb8cb4 uninstall: don't use unless || 2016-10-25 22:34:35 +01:00
Alyssa Ross
ef13f8eaca uninstall: only <=1 Diagnostic.missing_deps call 2016-10-25 22:34:35 +01:00
Alyssa Ross
ed0fffd931 uninstall: style fixes 2016-10-25 22:34:35 +01:00
Alyssa Ross
7792acda52 uninstall: allow dependent checks to be by-passed
Dependent can be bypassed with `--ignore-dependencies`.
This is now the default for `HOMEBREW_DEVELOPER`s.
2016-10-25 22:34:35 +01:00
Alyssa Ross
ecb1075390 uninstall: check for dependents even with --force 2016-10-25 22:34:34 +01:00
Alyssa Ross
b42f76939c uninstall: reorganise code
With the way uninstall is set up at the moment, it's pretty difficult to
add functionality to both the --force and normal variants.

Extracting the racks and kegs to be uninstalled before uninstalling them
should make this easier.
2016-10-25 22:34:34 +01:00
Alyssa Ross
888c44b238 uninstall: fix dependent order bug 2016-10-25 22:34:34 +01:00
Alyssa Ross
08f3aecf6b uninstall: consistent spelling of "dependent"
@ilovezfs pointed out that Homebrew generally uses "dependent", rather than
"dependant".
2016-10-25 22:34:34 +01:00
Alyssa Ross
e41c4e5029 uninstall: better message when dependents remain
Suggested by @MikeMcQuaid
2016-10-25 22:34:34 +01:00
Alyssa Ross
6f0aabe707 uninstall: refuse when dependants still installed
Closes #934.
2016-10-25 22:34:34 +01:00
Markus Reiter
0ab750bf24 Use module_function for commands. 2016-10-02 00:24:47 +02:00
Joseph Frazier
66ca9e79fc uninstall: improve pronoun for multiple version message
When exactly two versions of a package were installed, the uninstall
message should not read "Remove them all with...", since only one
version remains.

"Remove all versions with..." is flexible enough to avoid being
interpreted as grammatically incorrect, and it still accurately
describes the general behavior of `brew uninstall --force`.
2016-09-21 11:37:23 -04:00
Mike McQuaid
56fc1c725a cmd/uninstall: fix Rubocop warnings. 2016-09-11 17:59:00 +01:00
Max Nordlund
fa1fd70a37 Add all the top level comments 2016-04-10 22:59:25 +02:00
Xu Cheng
2130cb8c86 uninstall: fix indent 2015-10-17 03:59:28 +08:00
Xu Cheng
dee4c76e62 uninstall: fix when Cellar doesn't exist 2015-10-17 03:57:40 +08:00
Xu Cheng
4740d7fad4 uninstall: simplify logic
Also reduce unnecessary disk operations

Closes Homebrew/homebrew#43024.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-18 15:58:07 +08:00
Baptiste Fontaine
f690b54621 Suggest 'brew uninstall' everywhere for consistency
Mixing 'brew remove' with 'brew uninstall' can confuse users.

Closes Homebrew/homebrew#43026.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-08-17 20:36:02 +02:00
Vlad Shablinsky
d3037f7044 update opt for renamed formula
After the formula gets renamed oldname opt is created and
it points to the linked keg. However if we then upgrade newname
oldname opt still points to the same keg it pointed before upgrade.
The commit fixes this behaviour thus that oldname opt links at the
same keg opt point.
2015-08-17 01:53:58 +08:00
Vlad Shablinsky
3a764cb549 uninstall: fix --force
Closes Homebrew/homebrew#42814.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-11 18:13:13 +01:00
Vlad Shablinsky
fa8b702c0d uninstall: change logic to handle renames 2015-08-10 13:57:59 +01:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Xu Cheng
e3ed1ccb15 uninstall: load formula from rack
Closes Homebrew/homebrew#39524.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-05-27 13:53:42 +08:00
Xu Cheng
cd00abab55 uninstall: display file size
Closes Homebrew/homebrew#38475.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-04-09 15:25:22 +08:00
Misty De Meo
62addcfce8 uninstall: improve grammar for multiple version message 2014-12-23 00:50:46 -08:00
Mike McQuaid
eae7363934 uninstall: notify on multiple versions removed.
Closes Homebrew/homebrew#34398.

Closes Homebrew/homebrew#34445.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-11-27 11:36:11 +00:00
Jack Nagel
3d69e5ab7b Rename Keg#fname to Keg#name 2014-06-24 19:09:09 -05:00
Jack Nagel
76e86891e4 Remove opt link in Keg#uninstall 2014-06-23 22:34:41 -05:00
Jack Nagel
de24d73172 Use Keg#uninstall to uninstall kegs 2014-06-23 22:34:41 -05:00
Jack Nagel
4d9d01893e Move deprecated Formula class methods to compat
These have all been moved to Formulary.
2014-06-22 15:03:17 -05:00
Jack Nagel
10a1952d2c Only "extend self" once on the Homebrew module 2014-06-19 13:10:36 -05:00
Jack Nagel
e3f082c294 Stop joining symbols to pathnames
Ruby 2.2's native Pathname#/ accepts only string-like objects.
2014-06-09 14:57:21 -05:00