Thomas Waldmann
b3659e0b8c
reuse chunker.zeros for sparse extraction
2021-01-08 23:39:53 +01:00
Thomas Waldmann
9fd284ce1a
refactor new zero chunk handling to be reusable
2021-01-08 23:39:53 +01:00
Thomas Waldmann
6d0f9a52eb
detect all-zero chunks, avoid hashing them
...
comparing zeros is quicker than hashing them.
the comparison should fail quickly inside non-zero data.
2021-01-08 17:40:06 +01:00
Thomas Waldmann
52bd55b29a
integrate Chunk type, avoid hashing holes
2021-01-08 17:39:51 +01:00
Thomas Waldmann
7319f85b54
adapt the existing chunker tests
2021-01-08 17:33:25 +01:00
Thomas Waldmann
8c299696aa
Chunker: yield Chunk namedtuple instead of bytes/memoryview
2021-01-08 01:10:44 +01:00
TW
37d4aee122
Merge pull request #5597 from Gelma/typos_dec
...
Fix typos
2021-01-07 19:21:03 +01:00
Thomas Waldmann
7a3a49e99b
reverted changes to 3rd party code
...
all algorithms/* stuff needs to be fixed upstream.
we just copy the files from there now and then.
https://github.com/lz4/lz4
https://github.com/facebook/zstd
https://github.com/Cyan4973/xxHash
2021-01-07 18:18:15 +01:00
Thomas Waldmann
0984e00d31
revert changes to autogenerated files
...
this stuff will be auto-generated, regularly done at release time.
2021-01-07 18:08:49 +01:00
Andrea Gelmini
72e7c46fa7
Fix typos
2021-01-07 17:54:33 +01:00
TW
41d282bc14
Merge pull request #5615 from jedie/patch-1
...
Change docs/install instruction: "python-virtualenv" -> "python3-virtualenv"
2021-01-07 17:13:31 +01:00
Jens Diemer
5a585c5c2e
"python-virtualenv" -> "python3-virtualenv"
2021-01-07 10:31:26 +01:00
TW
268eb2e598
Merge pull request #5610 from ThomasWaldmann/update-changes-master
...
update CHANGES
2021-01-04 19:50:56 +01:00
Thomas Waldmann
4394fa45ba
update CHANGES
2021-01-03 21:40:31 +01:00
TW
9088b1e85a
Merge pull request #5608 from ThomasWaldmann/improve-borg-check-logging-master
...
check: debug log segment filename
2021-01-03 19:04:40 +01:00
Thomas Waldmann
f2cb17d66c
check: debug log segment filename
2021-01-03 18:23:52 +01:00
Thomas Waldmann
73c04398f3
move requires_hardlinks upwards
2021-01-03 17:55:45 +01:00
axapaxa
b291b91962
Add remote upload buffer (--remote-buffer) ( #5574 )
...
add remote upload buffer (--remote-buffer)
- added new option --remote-buffer
- allow to_send to grow to selected size
- don't grow if wait is specified
- fill pipe on any command (including 'async_response')
- add new option to docs
- create EfficientBytesQueue to prevent recreation of buffer each time we send something
- add tests for EfficientBytesQueue
2021-01-03 17:37:16 +01:00
Thomas Waldmann
806dc5084d
do not recurse into duplicate roots, fixes #5603
2021-01-02 23:01:31 +01:00
Thomas Waldmann
257791274f
add a test whether a duplicate root is skipped, see #5603
2021-01-02 23:00:52 +01:00
Thomas Waldmann
58c0a0186f
add a test for hardlink extraction issue, see #5603
2021-01-02 23:00:38 +01:00
TW
2851a84003
Merge pull request #5561 from ThomasWaldmann/sparse-file-support
...
sparse map / file map support for fixed size chunker
2020-12-28 20:21:50 +01:00
TW
27651f6f28
Merge pull request #5600 from ThomasWaldmann/fix-mp
...
fix cythonize crash on macOS/py39, fixes #5599
2020-12-28 20:20:33 +01:00
Thomas Waldmann
d2fe303967
fix cythonize crash on macOS/py39, fixes #5599
2020-12-28 19:56:08 +01:00
Thomas Waldmann
37a7436ff9
detect sparse support by fs
2020-12-28 19:53:52 +01:00
Thomas Waldmann
c0c0da9c76
skip sparse tests if has_seek_hole is False
...
also: do the os.SEEK_(HOLE|DATA) check only once
2020-12-27 22:06:08 +01:00
Thomas Waldmann
b8bb0494f6
create --sparse, file map support for the "fixed" chunker, see #14
...
a file map can be:
- created internally inside chunkify by calling sparsemap, which uses
SEEK_DATA / SEEK_HOLE to determine data and hole ranges inside a
seekable sparse file.
Usage: borg create --sparse --chunker-params=fixed,BLOCKSIZE ...
BLOCKSIZE is the chunker blocksize here, not the filesystem blocksize!
- made by some other means and given to the chunkify function.
this is not used yet, but in future this could be used to only read
the changed parts and seek over the (known) unchanged parts of a file.
sparsemap: the generate range sizes are multiples of the fs block size.
the tests assume 4kiB fs block size.
2020-12-27 22:06:08 +01:00
TW
5d46395ed0
Merge pull request #5598 from ThomasWaldmann/pyi41-master
...
vagrant: use py 3.9.1 pyi 4.1 to build binary
2020-12-27 22:02:07 +01:00
Thomas Waldmann
7b060ea792
vagrant: use py 3.9.1 pyi 4.1 to build binary
2020-12-26 00:50:05 +01:00
TW
5abc4eb5d4
Merge pull request #5595 from ThomasWaldmann/docs-hardlinks-master
...
Docs hardlinks master (fwd port)
2020-12-26 00:31:15 +01:00
Thomas Waldmann
f75c561e07
docs: add another case of attempted hardlink usage
2020-12-26 00:04:24 +01:00
Thomas Waldmann
3a828bea0b
docs: fix description of borg upgrade hardlink usage, fixes #5518
2020-12-26 00:03:34 +01:00
TW
34c38ee052
Merge pull request #5594 from ThomasWaldmann/vagrant-no-duplicate-fuse-tests
...
do not run the -fuse2 AND -none tests, fixes #5556
2020-12-25 21:30:44 +01:00
Thomas Waldmann
30e0afb113
do not run the -fuse2 AND -none tests, fixes #5556
2020-12-25 21:23:12 +01:00
TW
d884fee1ae
Merge pull request #5593 from ThomasWaldmann/cask-master
...
use brew install --cask ..., fixes #5557
2020-12-25 21:12:07 +01:00
Thomas Waldmann
b63896442d
use brew install --cask ..., fixes #5557
...
brew cask install ... is deprecated.
2020-12-25 21:03:02 +01:00
TW
050a705010
Merge pull request #5592 from ThomasWaldmann/extract-xattr-eperm-master
...
extract: improve setxattr exception handling
2020-12-25 20:52:04 +01:00
Thomas Waldmann
227dccdfdc
use strerror(e.errno) to get verbose error msg
...
otherwise it is just like: [Errno NN] Exxxxx
2020-12-25 19:36:37 +01:00
Thomas Waldmann
2dbdaebd8a
fix tests for new xattr exception handler, see #5583
2020-12-25 19:35:27 +01:00
Thomas Waldmann
d986114e5e
refactor/dedup xattr exception handler
2020-12-25 19:30:05 +01:00
Thomas Waldmann
ecae0841b1
extract: add generic exception handler when setting xattrs, fixes #5092
...
emit a warning message giving the path, xattr key and error message.
also: continue trying to restore other xattrs and bsdflags afterwards
(it did not continue with this before this fix).
2020-12-25 19:24:49 +01:00
TW
2b992fe078
Merge pull request #5332 from amikula/keep-oldest-when-retention-target-not-met
...
Keep oldest when retention target not met
2020-12-25 19:00:19 +01:00
TW
f3b90cc5c7
Merge pull request #5576 from ypid/feature/https-everywhere
...
Use HTTPS everywhere (mechanical edit using util from https-everywhere)
2020-12-22 21:24:41 +01:00
Robin Schneider
0742fe7ab7
Comply with editorconfig insert_final_newline
in paperkey.html
2020-12-22 17:31:00 +01:00
Robin Schneider
fb38ba579f
Use HTTPS everywhere (mechanical edit using util from https-everywhere)
...
Ref: https://github.com/EFForg/https-everywhere/tree/master/utils/rewriter
```Shell
~/src/EFForg/https-everywhere/utils/rewriter/rewriter.js .
```
A few changes were reset/fixed manually before the commit.
2020-12-22 16:36:40 +01:00
TW
af465a6339
Merge pull request #5578 from ThomasWaldmann/fix-yield-fixture-deprecation-master
...
use pytest.fixture instead of yield_fixture, fixes #5575 (master)
2020-12-20 00:40:34 +01:00
Thomas Waldmann
dc2a57af47
use pytest.fixture instead of yield_fixture, fixes #5575
...
/vagrant/borg/borg/.tox/py36-none/lib/python3.6/site-packages/borg/testsuite/remote.py:73:
PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
Use @pytest.fixture instead; they are the same.
Docs: https://docs.pytest.org/en/stable/warnings.html
2020-12-20 00:11:04 +01:00
Alf Mikula
e208ba68bd
Document retention of oldest archive, add to example and tests
2020-12-18 10:16:38 -08:00
Alf Mikula
69a58d2be0
Fix tests which relied on dropping oldest archive when retention target not met
2020-12-18 10:04:10 -08:00
Alf Mikula
943088df2c
Keep oldest archive when retention target is not met
2020-12-18 10:04:10 -08:00