* and ** are interpreted as emphasis and need to be matched for begin
and end of emphasis. the \ in front of it is to get a non-markup *.
(cherry picked from commit 64a53ba43a)
If specified, the argument `format_spec` is forwarded from the method
`OutputTimestamp.__format__` to the method `format_time` method. Thus,
we are able to specify the format, in a way supported by the class
`datetime`.
The default behaviour of `format_time` is not affected. The other parts
of code that does not provide a `format_spec` are not affected by the
change.
if we are recursing an explicitly excluded directory, we are only
looking for explicitly included items, but we do not need to archive
tagged directories or the tag files themselves - they are all excluded
by the explicit exclusion already.
for performance reasons, we still determine whether a directory is
tagged and if it is, we do not recurse into it as there can't be any
included items in there.
(cherry picked from commit 8256c26cf2)
intended as a last resort measure to export all segment file contents
in a relatively easy to use format.
if you want to dig into a damaged repo (e.g. missing segment files,
missing commits) and you know what you do.
note: dump-repo-objs --ghost must not use repo.list()
because this would need the repo index and call get_transaction_id and
check_transaction methods, which can easily fail on a damaged repo.
thus we use the same low level scan method as we use anyway to get
some encrypted piece of data to setup the decryption "key".
It causes problems with the new caching in the py37 logger module.
Removing loggerDict.clear() fixes this and makes the tests work again.
Also, it does not seem to have any negative effect, neither on py36
nor on py37.
See also: https://bugs.python.org/issue34269
- reordered code a little, so files are touched in different order
let's see if this changes anything.
- create_regular_file: giving size AND contents is not supported
the code did not create a 4096 bytes long file, but just a 1 byte
long file. adding an assertion to avoid unsupported usage.
freebsd12 is unhappy with having to deliver 50MiB random in one go
and fails with BlockingIOError "temporary unavailable" when trying.
for test_lz4_buffer_allocation, it is good enough to fetch 5MiB and
concatenate that 10 times.
(cherry picked from commit acb15fd960)
Add --list option to dump the repo configuration / the default values.
Also: fixes argument order in borg config tests
(cherry picked from commit 73410861ae)
the old progress output was kind of broken:
Archiver() did output some progress when add_item was called.
Archive.delete() did output progress for a single archive deletion
but what we really want is a overall progress indication, advancing
the progress for each deleted archive.
it will just show nothing was deleted, but one sees how it would look
like.
this is also for consistency with borg prune --dry-run --stats, which
behaves the same.
borg delete was slower than required when it deleted multiple archives
as it committed repo and cache once per archive.
borg prune (doing a similar job) is faster as it commits only once for
all deleted archives.
borg delete now also only commits once and also (similar to borg prune)
only outputs a overall statistics for all deleted archives.
log output of borg delete was made similar to borg prune.