summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-09-09PathTimeTable/DB: Use cache as kind of stack and only write to DB when ↵Florian Pritz1-18/+25
removing an item from the stack Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09DB: Fix update_path_if_greater not working for existing rowsFlorian Pritz1-1/+1
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09PathTimeTable/DB: Use constant to control trace loggingFlorian Pritz1-6/+8
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09PathTimeTable/DB: Improve performance by removing usage of regex in hot placesFlorian Pritz1-6/+10
This cuts execution time on my workstation from about 85 seconds for an --update-cache adding one archive to roughly 62 seconds. Measured totally unscientifically by simply running the full application instead of isolating the code, but it makes sense that regexes are slower so I'll take it. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Use strictures instead of strict/warningsFlorian Pritz7-14/+7
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Get settings via hash instead of direct variable accessFlorian Pritz2-23/+25
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Settings: Add constructorsFlorian Pritz2-12/+27
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Settings: Pull config file loading into functionFlorian Pritz1-13/+18
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Settings: Use Function::ParametersFlorian Pritz1-6/+5
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09Simplify BorgRestore constructorsFlorian Pritz1-8/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09BorgRestore: Move dependencies to dedicated $self->{deps} keyFlorian Pritz1-28/+28
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-09PathTimeTable/DB: Add cache to reduce number of DB callsFlorian Pritz1-2/+51
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-06Update copyright yearsFlorian Pritz2-2/+2
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-06Add direct-to-db adding of paths instead of memory onlyFlorian Pritz5-10/+101
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-09-06Extract lookup table into dedicated packageFlorian Pritz2-43/+71
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-08-25Checking in changes prior to tagging of version 3.1.0.3.1.0Florian Pritz1-1/+1
Changelog diff is: diff --git a/Changes b/Changes index a4b127d..a7d4b7b 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,8 @@ Revision history for Perl extension App-BorgRestore {{$NEXT}} + +3.1.0 2018-08-25T09:46:27Z - Add --json option - Add --detail option - Log cache update status message per archive to INFO
2018-08-19Remove unused variableFlorian Pritz1-1/+1
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-08-19DB: Do not create directories for special :foo: DBsFlorian Pritz1-1/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-08-17Die when XDG_* and HOME env vars are not setFlorian Pritz1-5/+17
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-08-02Remove sqlite cache size warningFlorian Pritz2-5/+5
The original performance problem on my machine doesn't seem to be reproducable any more so maybe either sqlite got smarter or it was something else entirely. Move the warning to DEBUG and soften the documentation. If it still helps people can use it, but we don't have to annoy them if it doesn't. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-08-02Send cache update messages to INFOFlorian Pritz1-2/+2
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-03-23Checking in changes prior to tagging of version 3.0.0.3.0.0Florian Pritz1-1/+1
Changelog diff is: diff --git a/Changes b/Changes index 22043d6..600f118 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,8 @@ Revision history for Perl extension App-BorgRestore {{$NEXT}} + +3.0.0 2018-03-23T14:57:52Z - No longer automatically enable --adhoc when cache is empty 2.3.0 2018-02-06T15:58:36Z
2018-02-06Checking in changes prior to tagging of version 2.3.0.2.3.0Florian Pritz1-1/+1
Changelog diff is: diff --git a/Changes b/Changes index 32e7b5b..a46f8bc 100644 --- a/Changes +++ b/Changes @@ -2,6 +2,11 @@ Revision history for Perl extension App-BorgRestore {{$NEXT}} +2.3.0 2018-02-06T15:58:36Z + - Add --list option to search for paths occuring in backups + - Warn if sqlite's memory cache is is filled during cache updates + - Improve documentation of @backup_prefixes setting + 2.2.0 2017-11-25T23:16:04Z - Add borg 1.1 support - Mention required positive return code of config in documentation
2018-01-24Only increase sqlite cache size during updateFlorian Pritz2-4/+9
While not all operations fill the cache, --list does. However, for read operations it doesn't actually appear to help performance. Limit the large cache setting to update operations only because there it does really increase performance. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2018-01-24Add --list feature to search for files contained in backups by pathFlorian Pritz2-0/+31
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-12-04Warn if sqlite cache is fullFlorian Pritz2-0/+14
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-12-03Settings: Fix missing indentation in docFlorian Pritz1-1/+1
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-12-02Properly document removal of prefixes via @backup_prefixesFlorian Pritz1-4/+9
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-26Checking in changes prior to tagging of version 2.2.0.2.2.0Florian Pritz1-1/+1
Changelog diff is: diff --git a/Changes b/Changes index 0c8276e..32e7b5b 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,8 @@ Revision history for Perl extension App-BorgRestore {{$NEXT}} + +2.2.0 2017-11-25T23:16:04Z - Add borg 1.1 support - Mention required positive return code of config in documentation - Enable adhoc mode automatically when cache is empty
2017-11-26Remove old cacheFlorian Pritz2-0/+11
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-26Bump cache version levelFlorian Pritz1-1/+1
The previous code didn't support borg 1.1 properly and the cached might now be broken. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-26Use mtime for borg 1.1 instead of isomtimeFlorian Pritz1-1/+1
The rest of the code expects the mtime format, but borg <1.1 mixed up the formats between isomtime and mtime. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-22Log warning if no archives are detected in borg outputFlorian Pritz1-0/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-22Replace File::* dependencies with Path::TinyFlorian Pritz1-5/+3
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-22Create cache directory in DB instead of SettingsFlorian Pritz2-4/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21borg_list: Use JSON with borg 1.1Florian Pritz1-5/+14
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21Borg::list_archive: Use --format to please borg 1.1Florian Pritz1-1/+8
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21borg_list_time: Use JSON when possibleFlorian Pritz1-12/+27
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21Borg: Extract version information for future useFlorian Pritz1-0/+17
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21borg_list_time: Fix parsing for borg >=1.1Florian Pritz1-1/+2
Output now contains additional data after the date. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21settings: Document that config must return trueFlorian Pritz1-0/+6
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21Enable --adhoc automatically when cache is emptyFlorian Pritz1-0/+13
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-21Log borg errors instead of only throwing exceptionFlorian Pritz1-2/+2
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-11-12Remove duplicate exception stringsFlorian Pritz1-7/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-10-05Update versionFlorian Pritz1-1/+1
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-09-25Add missing autodie to packagesFlorian Pritz4-0/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-09-10Add basic documentation for all packagesFlorian Pritz3-0/+36
Module::Build::Tiny installs manpages for all packages and for these 3 the manpages were empty. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-08-10Bump minimal perl version to 5.14Florian Pritz5-5/+5
Function::Parameters requires >=5.14 so we can bump our version as well. Signed-off-by: Florian Pritz <bluewind@xinu.at>
2017-06-24Checking in changes prior to tagging of version 2.1.0.2.1.0Florian Pritz1-1/+1
Changelog diff is: diff --git a/Changes b/Changes index 63cdd4d..ffbe7ba 100644 --- a/Changes +++ b/Changes @@ -2,6 +2,10 @@ Revision history for Perl extension App-BorgRestore {{$NEXT}} +2.1.0 2017-06-24T15:26:08Z + - Improve documentation + - chdir back to original working directory after restore + 2.0.1 2017-06-04T17:44:27Z - Add github to META.json
2017-06-19Settings: Improve documentation of $borg_repoFlorian Pritz1-1/+2
Signed-off-by: Florian Pritz <bluewind@xinu.at>