summaryrefslogtreecommitdiffstats
path: root/lib/App/BorgRestore/Borg.pm
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2019-02-07 17:01:28 +0100
committerFlorian Pritz <bluewind@xinu.at>2019-02-07 17:14:35 +0100
commit4034169f9655ea6b28741067c58c0219e42365e1 (patch)
tree9a76c3c328d7420ec4dc2494889800823ab21ac2 /lib/App/BorgRestore/Borg.pm
parent138ba53c92dc10c1b9b9bb31448b76f9bbac0ecd (diff)
downloadApp-BorgRestore-4034169f9655ea6b28741067c58c0219e42365e1.tar.gz
App-BorgRestore-4034169f9655ea6b28741067c58c0219e42365e1.tar.xz
Support borg list --prefix option via setting
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'lib/App/BorgRestore/Borg.pm')
-rw-r--r--lib/App/BorgRestore/Borg.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/App/BorgRestore/Borg.pm b/lib/App/BorgRestore/Borg.pm
index 62555fa..def6b9c 100644
--- a/lib/App/BorgRestore/Borg.pm
+++ b/lib/App/BorgRestore/Borg.pm
@@ -24,11 +24,12 @@ App::BorgRestore::Borg abstracts borg commands used by L<App::BorgRestore>.
=cut
-method new($class: $borg_repo) {
+method new($class: $borg_repo, $backup_prefix) {
my $self = {};
bless $self, $class;
$self->{borg_repo} = $borg_repo;
+ $self->{backup_prefix} = $backup_prefix;
$self->{borg_version} = $self->borg_version();
@@ -52,17 +53,18 @@ method borg_version() {
method borg_list() {
my @archives;
+ my $backup_prefix = $self->{backup_prefix};
if (Version::Compare::version_compare($self->{borg_version}, "1.1") >= 0) {
$log->debug("Getting archive list via json");
- run [qw(borg list --json), $self->{borg_repo}], '>', \my $output or die $log->error("borg list returned $?")."\n";
+ run [qw(borg list --prefix), $backup_prefix, qw(--json), $self->{borg_repo}], '>', \my $output or die $log->error("borg list returned $?")."\n";
my $json = decode_json($output);
for my $archive (@{$json->{archives}}) {
push @archives, $archive->{archive};
}
} else {
$log->debug("Getting archive list");
- run [qw(borg list), $self->{borg_repo}], '>', \my $output or die $log->error("borg list returned $?")."\n";
+ run [qw(borg list --prefix), $backup_prefix, $self->{borg_repo}], '>', \my $output or die $log->error("borg list returned $?")."\n";
for (split/^/, $output) {
if (m/^([^\s]+)\s/) {