| Age | Commit message (Collapse) | Author |
|
Handle `MethodDeprecatedError` because we want people to be able to
uninstall regardless of the content of their formula.
|
|
These shouldn’t get here in the first place so this is a bit of a hack
pending a better fix.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
This was moved to Keg, but looks like I forgot to get rid of it here.
|
|
|
|
|
|
|
|
|
|
Dependent can be bypassed with `--ignore-dependencies`.
This is now the default for `HOMEBREW_DEVELOPER`s.
|
|
|
|
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.
|
|
|
|
@ilovezfs pointed out that Homebrew generally uses "dependent", rather than
"dependant".
|
|
Suggested by @MikeMcQuaid
|
|
Closes #934.
|
|
|
|
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`.
|
|
|
|
|
|
|
|
|
|
Also reduce unnecessary disk operations
Closes Homebrew/homebrew#43024.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
Mixing 'brew remove' with 'brew uninstall' can confuse users.
Closes Homebrew/homebrew#43026.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
|
|
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.
|
|
Closes Homebrew/homebrew#42814.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
Closes Homebrew/homebrew#42354.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
Closes Homebrew/homebrew#39524.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
Closes Homebrew/homebrew#38475.
Signed-off-by: Xu Cheng <xucheng@me.com>
|
|
|
|
Closes Homebrew/homebrew#34398.
Closes Homebrew/homebrew#34445.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
|
|
|
|
|
|
These have all been moved to Formulary.
|
|
|
|
Ruby 2.2's native Pathname#/ accepts only string-like objects.
|
|
|
|
|
|
|
|
|
|
Grrr...
|
|
* Added `pin` et. al. to manpage.
* Added `brew pin` to `brew.1` * Added `brew unpin` to `brew.1`
* Added `brew list --pinned` to `brew.1`
* Added information about frozen formulae to `brew upgrade` in `brew.1`
* Added `pin` et.al. to completion scripts.
* Unpin formulae when uninstalling them
* Unpin and re-pin formulae when upgrading (avoids stale symlink)
References Homebrew/homebrew#18386.
Closes Homebrew/homebrew#18515.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
|
|
FormulaInstaller now attempts to take a lock on a "foo.brewing" file for
the formula and all of its dependencies before attempting installation.
The lock is an advisory lock implemented using flock(), and as such it
only locks out other processes that attempt to take the lock. It also
means that it is never necessary to manually remove the lock file,
because the lock is not enforced by I/O.
The uninstall, link, and unlink commands all learn to respect this lock
as well, so that the installation cannot be corrupted by a concurrent
Homebrew process, and keg operations cannot occur simultaneously.
|