Fix overriding existing symlinks that point to directories.

This commit is contained in:
Jacob Buys
2011-08-23 22:04:00 +02:00
parent fa99a89bbf
commit 9ced2921d9
3 changed files with 18 additions and 1 deletions

View File

@@ -79,6 +79,7 @@ class Homesick < Thor
end
desc "symlink NAME", "Symlinks all dotfiles from the specified castle"
method_option :force, :default => false, :desc => "Overwrite existing conflicting symlinks without prompting."
def symlink(name)
check_castle_existance(name, "symlink")

View File

@@ -86,7 +86,7 @@ class Homesick
say_status :conflict, "#{destination} exists and points to #{destination.readlink}", :red unless options[:quiet]
if options[:force] || shell.file_collision(destination) { source }
system "ln -sf #{source} #{destination}" unless options[:pretend]
system "ln -nsf #{source} #{destination}" unless options[:pretend]
end
end
elsif destination.exist?