when given with borg create, borg will not get xattrs from input files (and thus, it will not archive xattrs).
when given with borg extract, borg will not read xattrs from archive and it will not set xattrs on extracted files.
when given with borg create, borg will not get ACLs from input files (and thus, it will not archive ACLs).
when given with borg extract, borg will not read ACLs from archive and it will not set ACLs on extracted files.
A) the compaction code needs the shadow index only for this case:
segment A: PUT x, segment B: DEL x, with A < B (DEL shadows the PUT).
B) for the following case, we have no shadowing DEL (or rather: it does not matter,
because there is a PUT right after the DEL) and x is in the repo index,
thus the shadow_index is not needed for the special case in the compaction code:
segment A: PUT x, segment B: DEL x PUT x
see also PR #5636.
reverts f079a83fed
and clarifies the code by more comments.
we keep the code deduplication of 5f32b5666a
and just add a update_shadow_index param to make it not look like there was
something accidentally forgotten, which was the whole reason for the reverted
"fix".
The shadow_index should be in same state after both of these sequences
(let's assume that A is not in repo yet for simplicity, but it does not matter):
a) explicit delete: put(A), delete(A), put(A), resulting in: PUT A, DEL A, PUT A repo contents
b) implicit delete: put(A), put(A), resulting in: PUT A, DEL A, PUT A repo contents
also:
- add test for removed empty shadowed_segments list
- add some comments
- add repo_dump test debug tool
note: this is the backport of #5614 to 1.1-maint - it needed some adaptions to fit into 1.1-maint:
1.1-maint always compacts when committing and does not persist shadow_index, so the tests are a bit different
FreeBSD 10.x is not supported any more, the pkg sources are not
available any more, so our VM needed an upgrade.
so, we'll build borg 1.1.x binaries on FBSD 11.4 in future.
additionally, pyinstaller had some regression that is fixed by v4.2.
in v4.2-maint branch i added the FBSD bootloaders, which were missing
as usual.
The old buffer protocol was deprecated since Python 3.0 and will be
removed entirely in Python 3.10.
This is a backport of
commit 9ae43709e42092c7f6a4e990d696d9005fa1623d
Author: Inada Naoki <songofacandy@gmail.com>
Date: Thu Dec 5 20:20:53 2019 +0900
Drop old buffer protocol support (#383)
Backporting by me, any errors are likely due to backporting.