diff options
-rw-r--r-- | lib/App/Acmeman/Apache/Layout/slackware.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/App/Acmeman/Apache/Layout/slackware.pm b/lib/App/Acmeman/Apache/Layout/slackware.pm index d09017a..fd9ea31 100644 --- a/lib/App/Acmeman/Apache/Layout/slackware.pm +++ b/lib/App/Acmeman/Apache/Layout/slackware.pm @@ -5,6 +5,7 @@ use Carp; use parent 'App::Acmeman::Apache::Layout'; use Apache::Config::Preproc; use App::Acmeman::Log qw(:all); +use File::BackupCopy; our $PRIORITY = 10; @@ -175,7 +176,14 @@ sub run_commands_for_file { error((0+@commands) . " left unmatched in edit queue for file $file"); error("$file left unchanged"); } else { - # FIXME: backup/rollback + my $backup_name = backup_copy($app->filename, error => \my $error); + if ($backup_name) { + debug(1, "modifying ".$app->filename."; prior version saved in $backup_name"); + } elsif ($error) { + error("can't backup ".$app->filename.": $error"); + error("file left unchanged"); + return; + } $app->save; } } |