# File lib/rubigen/commands.rb, line 473 def file(relative_source, relative_destination, file_options = {}) destination = destination_path(relative_destination) if File.exists?(destination) logger.rm relative_destination unless options[:pretend] if options[:svn] # If the file has been marked to be added # but has not yet been checked in, revert and delete if options[:svn][relative_destination] system("svn revert #{destination}") FileUtils.rm(destination) else # If the directory is not in the status list, it # has no modifications so we can simply remove it system("svn rm #{destination}") end else FileUtils.rm(destination) end end else logger.missing relative_destination return end end