diff options
| author | Xu Cheng | 2015-08-18 19:33:24 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-08-20 15:47:41 +0800 |
| commit | b6c64ae46a2eafd27057ea2bca724186bf7ddc13 (patch) | |
| tree | 0fb1f1acdf5171edc986bbf36434c24aec47b3f4 /Library | |
| parent | ab363ea1d9881c3a60cc0870714bf142d23f454d (diff) | |
| download | brew-b6c64ae46a2eafd27057ea2bca724186bf7ddc13.tar.bz2 | |
also lock oldname when applied
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/keg.rb | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 7ca2007bb..8fb220ba8 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -689,10 +689,15 @@ class Formula def lock @lock = FormulaLock.new(name) @lock.lock + if oldname && (oldname_rack = HOMEBREW_CELLAR/oldname).exist? && oldname_rack.resolved_path == rack + @oldname_lock = FormulaLock.new(oldname) + @oldname_lock.lock + end end def unlock @lock.unlock unless @lock.nil? + @oldname_lock.unlock unless @oldname_lock.nil? end def pinnable? diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index 007d7bcfa..4c6819244 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -216,7 +216,13 @@ class Keg end def lock - FormulaLock.new(name).with_lock { yield } + FormulaLock.new(name).with_lock do + if oldname_opt_record + FormulaLock.new(oldname_opt_record.basename.to_s).with_lock { yield } + else + yield + end + end end def completion_installed?(shell) |
