Pass the link mode to resolve_any_conflicts

This commit is contained in:
Jack Nagel 2014-03-31 21:33:37 -05:00
parent 5123f0c802
commit 75af625c17

View File

@ -213,15 +213,15 @@ class Keg < Pathname
protected
def resolve_any_conflicts dst
def resolve_any_conflicts dst, mode
# if it isn't a directory then a severe conflict is about to happen. Let
# it, and the exception that is generated will message to the user about
# the situation
if dst.symlink? and dst.directory?
src = (dst.parent+dst.readlink).cleanpath
keg = Keg.for(src)
dst.unlink
keg.link_dir(src) { :mkpath }
dst.unlink unless mode.dry_run
keg.link_dir(src, mode) { :mkpath }
return true
end
rescue NotAKegError
@ -301,9 +301,9 @@ class Keg < Pathname
when :skip_dir
Find.prune
when :mkpath
dst.mkpath unless resolve_any_conflicts(dst)
dst.mkpath unless resolve_any_conflicts(dst, mode)
else
unless resolve_any_conflicts(dst)
unless resolve_any_conflicts(dst, mode)
make_relative_symlink dst, src, mode
Find.prune
end