Commit Graph

6254 Commits

Author SHA1 Message Date
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
Alf Mikula 9ee96763e2 Add test for keeping oldest archive when retention target is not met 2020-12-18 10:04:03 -08:00
TW 18f0729ed8
Merge pull request #5572 from ThomasWaldmann/export-tar-fix-5568-master
fix memory leak in export-tar with ssh: repo (fwd port to master)
2020-12-18 11:11:06 +01:00
Thomas Waldmann 24d3400dd4 borg export-tar: fix memory leak with ssh: remote repository, fixes #5568
also: added a comment how to avoid this kind of memory leak.
2020-12-17 22:55:13 +01:00
Thomas Waldmann 6a18c47464 cosmetic: make parens structure in borg export-tar similar to borg extract 2020-12-17 22:54:59 +01:00
Thomas Waldmann 2815ba51fa use same code in export-tar as in extract
the partial_extract parameter was missing and that can lead to to many items being preloaded.
2020-12-17 22:54:44 +01:00