aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/App/Acmeman/Apache/Layout/slackware.pm10
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;
}
}

Return to:

Send suggestions and report system problems to the System administrator.