Age | Commit message (Collapse) | Author | Files | Lines |
|
Migrations may remove data and it doesn't hurt to vacuum afterwards to
reduce the file size.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
This fixes an error in migration 2 where `alter table .. rename column`
is used. This syntax is only supported in sqlite 3.25.0 or newer and
DBD::SQLite 1.60 is the first production version to include this version
of sqlite.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
This is related to 62f5bc3ce90fedb396d103caae68dc2f211f1b16 and would
trigger if the optimization prevents a path from being added to the
database.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index 1bb3489..3013873 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.4.3 2020-09-27T13:53:54Z
- Add database migration for change from 3.4.2
3.4.2 2020-09-27T13:50:47Z
|
|
Should have been part of f0dd3fd59afac321317d3b52a36d179b4ea504f7. Oops.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index 6a1d238..a40a774 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.4.2 2020-09-27T13:50:47Z
- Fix missing cache data for top level files that exist with and without an
extension. For example a '/lib' symlink and '/lib64'. '/lib' would be
missing from the database.
|
|
previous path for top level paths
Same issue as 62f5bc3ce90fedb396d103caae68dc2f211f1b16 except that this
time it is the for top level paths (`/lib` and `/lib64`) which are
handled outside the loop.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index f77e9f9..cd1a4c3 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.4.1 2020-09-27T12:57:01Z
- Fix missing cache data for files that exist with and without an
extension. For example '/home/*/.ssh/id_rsa' would be missing from the
database and only the accompanying `id_rsa.pub` file would be contained
|
|
previous path
Files that share a common substring (e.g. `/home/foo/.ssh/id_rsa` and
`/home/foo/.ssh/id_rsa.pub`) could incorrectly trigger an optimization
that was only supposed to be triggered if the first path is a directory.
The first path would then not be added to the database cache even though
it should have been.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index eeb4d3b..dd5812e 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.4.0 2019-09-28T13:28:49Z
- Remove archive name untaint restrictions (remove untaint_archive_name
function)
|
|
Better code readability than with the full name.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
We no longer need a special whitelist for archive names since the
database no longer uses them as column keys. We still need to untaint
variables that are passed to DBI so we use untaint() for this now. We
also move the location of the untaint call closer to its usage with
DBI/system() to prevent untainted data from leaking elsewhere.
Fixes #4
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Having the backup archive names in the table columns is not strictly
necessary. Replace this with numeric IDs and map them via the `archives`
table so that we can eventually remove untaint_archive_name().
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index 807706c..9bb5022 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.3.0 2019-02-07T16:18:41Z
- Support borg list's --prefix option via $borg_prefix setting
- Properly handle cases where the DB is empty after removal of archive
information
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Empty here means that the DB does not contain any backup archive
information because all information that is already in the db has to be
removed. The old code tries to copy existing data into the new table,
but since there are no archives to copy data for, the sql query fails.
Also, it would copy all rows and only populate the path column, but if
there are no archives that have timestamps, that's actually useless
work.
This patch ensures that the table is kept empty if there are no
archives.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index b9b6218..dae2435 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,9 @@ Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+3.2.1 2018-11-01T12:54:26Z
+ - Add missing version requirement to List::Util dependency
+
3.2.0 2018-09-19T11:46:35Z
- Write data directly to DB instead of preparing it in memory first. The
new algorithm should be faster and uses constant memory. If you want the
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Changelog diff is:
diff --git a/Changes b/Changes
index bd95acb..b9b6218 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
Revision history for Perl extension App-BorgRestore
{{$NEXT}}
+
+3.2.0 2018-09-19T11:46:35Z
- Write data directly to DB instead of preparing it in memory first. The
new algorithm should be faster and uses constant memory. If you want the
old one back for any reason look at the '$prepare_data_in_memory' config
|
|
Also instantly deprecate the option since it is only a short term fix in
case someone notices problems with the new code.
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
removing an item from the stack
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
caching doesn't cause problems
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
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>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|
|
Signed-off-by: Florian Pritz <bluewind@xinu.at>
|