1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-22 22:22:27 +00:00
Commit graph

6625 commits

Author SHA1 Message Date
Thomas Waldmann
549f83a220 update CHANGES 2022-01-16 21:34:24 +01:00
TW
0aabff67f7
Merge pull request #6065 from enkore/patch-2
docs/data-structures: add content-defined chunking explainer
2022-01-16 21:01:09 +01:00
Thomas Waldmann
94e93ba7e6 formula is only approximately correct
the movement of the start of the hashing window stops at (file_size - window_size), thus THAT would be the factor in that formula, not just file_size.

for medium and big files, window_size is much smaller than file_size, so guess we can just say "approximately" for the general case.
2022-01-16 20:39:29 +01:00
TW
96e6990bd4
Merge pull request #5989 from szpak-forks/fishCompletion330Fix
Fix command & switch completion in Fish 3.3.0+
2022-01-16 20:29:47 +01:00
TW
97d6f8145f
Merge pull request #6125 from ThomasWaldmann/ci-downgrade-macos-master
CI: downgrade to macOS 10.15, work around #6099
2022-01-16 19:27:12 +01:00
Thomas Waldmann
e0af9d8ee7 CI: macOS: re-enable fuse2 testing, work around #6099
Downgrade to macOS 10.15 as macOS 11.x breaks fuse2 testing.

On macOS 10.15, osxfuse and also macfuse works with borg's fuse2 tests.

Upgrading to macOS 11.x based github CI breaks the tests, see #6099,
even when using the more recent macfuse to provide fuse2 capability.
2022-01-16 18:36:29 +01:00
TW
75cbab3773
Merge pull request #6118 from ThomasWaldmann/upgrade-pyi
use pyinstaller 4.7
2022-01-07 23:19:51 +01:00
Thomas Waldmann
6863df364f use pyinstaller 4.7 2022-01-07 23:09:46 +01:00
TW
eb4a9d2094
Merge pull request #6117 from ThomasWaldmann/shake-master
remove support for shake_* hashes, fixes #6082
2022-01-07 22:55:56 +01:00
Thomas Waldmann
6226002eb0 remove support for shake_* hashes, fixes #6082 2022-01-07 22:21:22 +01:00
TW
3a878bb13c
Merge pull request #6112 from ThomasWaldmann/allow-msgpack-103
allow msgpack 1.0.3, fixes #6111
2022-01-07 14:25:59 +01:00
TW
c71acda4a9
Merge pull request #6115 from ThomasWaldmann/fix-xattr-percent-binary-master
fix new xattr tests for binary test runs
2022-01-07 14:24:32 +01:00
TW
aec98e48ec
Merge pull request #6116 from ThomasWaldmann/upgrade-py-master
upgrade pythons (master)
2022-01-07 14:21:32 +01:00
Thomas Waldmann
530acb68be github ci: use 3.10 (without -dev) 2022-01-06 23:33:45 +01:00
Thomas Waldmann
c9a4a24342 vagrant: use py 3.9.9 and 3.10.0 2022-01-06 23:28:46 +01:00
Thomas Waldmann
8b192db076 fix new xattr tests for binary test runs
the tests do object patching, this does not work
when we call the external binary "borg.exe".

this made these tests fail IF the borg.exe was
available (like in the debian stretch vagrant VM).
2022-01-06 23:21:07 +01:00
TW
13d26919c5
Merge pull request #6114 from ThomasWaldmann/fix-mac-ci-master
macos ci: no fuse tests for now, fixes #6099
2022-01-06 23:17:26 +01:00
Thomas Waldmann
a21c65b868 macos ci: no fuse tests for now, fixes #6099
test_fuse hangs (tried with osxfuse as well as with macfuse) for yet unknown reasons.
2022-01-06 22:25:03 +01:00
Thomas Waldmann
b27e7ad86d allow msgpack 1.0.3, fixes #6111 2022-01-06 21:34:52 +01:00
TW
f2c975ba15
Merge pull request #6096 from cuevavirus/master
Workaround for volume shadow copy in WSL1
2021-12-27 00:22:01 +01:00
Reiko Asakura
e38f0b26b0
Workaround for volume shadow copy in WSL1 2021-12-24 15:15:23 -05:00
TW
bf392367f1
Merge pull request #6056 from ThomasWaldmann/fix-cache-tag-race-master
atomically create the CACHE_TAG file, see #6028
2021-12-12 22:54:11 +01:00
TW
03ab4dc116
Merge pull request #6085 from hexagonrecursion/fix-build-man
Fix exceptions thrown by `setup.py build_man`
2021-12-10 18:15:20 +01:00
Andrey Bienkowski
dbfef31783
borg serve: improve ssh forced commands docs (#6083)
borg serve: improve ssh forced commands docs

Co-authored-by: Andrey Bienkowski <hexagon-recursion@posteo.net>
2021-12-10 18:11:25 +01:00
Andrey Bienkowski
37e1ae4735 Fix exceptions thrown by setup.py build_man
While doing some doc updates I needed a way to test them - to build
the documentation and inspect the output. I ran into an issue:
running python setup.py build_man was throwing exceptions:

1. The import-tar parser had a None description causing:

    File "/home/user/borg/setup_docs.py", line 451, in write_heading
      write(char * len(header))
    TypeError: object of type 'NoneType' has no len()

2. There was no docs/usage/import-tar.rst causing an exception too
2021-12-10 10:51:26 +03:00
Andrey Bienkowski
dcb1aef5e0
Improve docs for borg list --format (#6080)
Improve docs for `borg list` --format, fixes #6061

Co-authored-by: Andrey Bienkowski <hexagon-recursion@posteo.net>
2021-12-09 20:33:39 +01:00
Thomas Waldmann
708a5853e7 deal with the SaveFile/SyncFile race, docs 2021-12-07 22:35:28 +01:00
Thomas Waldmann
d0a3b30fdf avoid create the cache tag file on every get_cache_dir call
this re-introduces a race between os.path.exists vs. SaveFile creating that file, but due to the way how SaveFile works, it still makes sure that in the end there is a good cache tag file in place.
2021-12-07 21:47:15 +01:00
TW
fc4483a37c
Merge pull request #6079 from hexagonrecursion/patch-1
Remove --list-format from borg list
2021-12-07 20:15:35 +01:00
Andrey Bienkowski
f2ea757fad
Remove --list-format from borg list
While reading the docs I noticed that in `borg list` the options --list-format and --format do the same thing. Using `git log -S` I have uncovered that --list-format used to be deprecated and was supposed to be removed in c87393cab7, but you overlooked it and undeprecated it instead. What should we do now? Just remove it or deprecate it again?
2021-12-07 12:45:42 +00:00
TW
54b5ae4865
Merge pull request #6076 from hexagonrecursion/fwdport-a-test
Forward port: Test that the archive name is not mentioned
2021-12-03 15:35:59 +01:00
Andrey Bienkowski
17d12b520c Forward port: Test that the archive name is not mentioned
This test was originally added in #6071
2021-12-02 17:27:13 +03:00
TW
13f2600fb2
Merge pull request #6072 from hexagonrecursion/fwdport-6064
Forward port #6064: avoid expanding path into LHS of formatting operation
2021-12-02 03:57:10 +01:00
Andrey Bienkowski
d9e923e66f Forward port #6064: avoid expanding path into LHS of formatting operation 2021-11-30 20:51:47 +03:00
Andrey Bienkowski
3e3ed78b8c Test % in file name and xattr (see #6063) 2021-11-30 20:51:38 +03:00
TW
e8ff51b0f9
Merge pull request #6067 from hexagonrecursion/fwd-port-6008
Remove BORG_LIBC completion
2021-11-29 11:08:58 +01:00
Andrey Bienkowski
a605dff15e Remove BORG_LIBC completion
BORG_LIBC was added in a4f7e69 to allow borg to work on systems where 
ctypes.util,find_library() fails. Since 9914968 borg no longer uses 
find_library().
2021-11-28 17:32:34 +03:00
enkore
79cb4e43e5
docs/data-structures: tie CDC back into dedup rationale 2021-11-27 18:45:19 +00:00
enkore
5b297849d3
docs/data-structures: add content-defined chunking explainer 2021-11-27 14:41:24 +00:00
Thomas Waldmann
7f5cd2c4d4 fix cyclic import issues 2021-11-17 17:36:43 +01:00
TW
9dfdd9f06a
Merge pull request #6022 from pgerber/recover
Speed up search for next valid object in segment in --repair mode
2021-11-17 15:33:40 +01:00
Thomas Waldmann
9ef0413aeb atomically create the CACHE_TAG file, see #6028 2021-11-16 16:05:56 +01:00
TW
ef6a65214e
Merge pull request #6055 from ThomasWaldmann/fix-hl-preload-master
fix hardlinkable file type check, fixes #6037
2021-11-16 15:25:59 +01:00
Thomas Waldmann
5064ec3c9a fix hardlinkable file type check, fixes #6037 2021-11-16 14:36:43 +01:00
sw9719
fec3568cba
do not show archive name in error msgs referring to repository (#6023)
do not show archive name in repo error msgs, fix #6014
2021-11-11 00:27:39 +01:00
TW
450ab38e42
Merge pull request #6025 from amikula/issue_6015
Handle case of calling prune_split when there are no archives, #6015
2021-10-28 17:43:35 +02:00
Peter Gerber
6c21404143
Validate tag ID when --repair[ing] an object
This too should make the scan faster as, assuming the data is
random, we can skip CRC checks for almost 94% of the incorrect
header location solely based on the tag.

As draw back, this will limit the number of tags that can be
added without breaking backwards compatibility to 16, with
13 currently unused.
2021-10-28 14:13:37 +00:00
Alf Mikula
663abc7c90 Handle case of calling prune_split when there are no archives 2021-10-28 05:36:43 -07:00
Peter Gerber
2bc91e5010
Speed up search for next valid object in segment in --repair mode
When an object is corrupted, the start position of the next object
will not be known as the size field belonging to the corrupted
object may be corrupted as well. In order to find the next object
within the segment, the remainder is scanned for the next valid
object, byte-by-byte. An object is considered valid if the CRC
checksum matches the content. However, doing so the scan accepted
any object size that fit within the remainder of the segment. As a
result, in particular when the corruption occurred near the start
of a segment, CRC checksums were calculated for large objects,
often hundreds of megabytes in size, despite the size being limited
to 20 MiB. This change makes it so that CRC calculation is skipped
when the object header indicates an impossible size, thereby,
greatly reducing the number of CPU cycles used for CRC calculations.
In my case, this brought down the time for repair from hours to mere
minutes.

This has also the additional benefit that there is some verification
in addition to the CRC checksum. The 4-bytes checksum is rather
short considering the amount of data that might be in an archive.

Likely fixes the hanging --repair in #5995 also.
2021-10-28 10:59:11 +00:00
Alf Mikula
5b050bd01c Add test for prune_split when no archives exist 2021-10-27 15:52:45 -07:00