aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2014-03-27 21:42:09 -0500
committerJack Nagel2014-03-27 21:42:09 -0500
commitb25156ca4a0213e3e1c31662e2d88fa1155c1242 (patch)
treec20786aade6ea77d5c8339de0e806fa00f0951e0 /Library/Homebrew
parent4e918666d7d8360d045d8bc78accce598d35b033 (diff)
downloadbrew-b25156ca4a0213e3e1c31662e2d88fa1155c1242.tar.bz2
Only write files if we actually made a change
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/keg_fix_install_names.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb
index f490a9c79..7356efcd2 100644
--- a/Library/Homebrew/keg_fix_install_names.rb
+++ b/Library/Homebrew/keg_fix_install_names.rb
@@ -42,10 +42,13 @@ class Keg
files.group_by { |f| f.stat.ino }.each_value do |first, *rest|
s = first.open("rb", &:read)
- s.gsub!(old_cellar, new_cellar)
- s.gsub!(old_prefix, new_prefix)
- first.atomic_write(s)
- rest.each { |file| FileUtils.ln(first, file, :force => true) }
+ changed = s.gsub!(old_cellar, new_cellar)
+ changed = s.gsub!(old_prefix, new_prefix) || changed
+
+ if changed
+ first.atomic_write(s)
+ rest.each { |file| FileUtils.ln(first, file, :force => true) }
+ end
end
end