1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-22 07:43:06 +00:00
Commit graph

8858 commits

Author SHA1 Message Date
Thomas Waldmann
c8bce0329d
archive deletion: use store soft-deletion
This keeps the object, just renames it to "*.del".
2024-11-05 20:03:04 +01:00
Thomas Waldmann
179aadc5cc
repository: add store_move for soft-delete 2024-11-05 20:02:57 +01:00
TW
c4635690e3
Merge pull request #8523 from ThomasWaldmann/zsh-completions-borg2
shell completions: adapt zsh for borg 2.0.0b13
2024-11-05 18:31:44 +01:00
Thomas Waldmann
fdc882230e
shell completions: adapt zsh for borg 2.0.0b13
I am not familiar with zsh completions, so I did only the easy stuff.

A lot of the more complex stuff is likely still broken, PR's welcome!
2024-11-05 17:16:38 +01:00
TW
d1d438ba57
Merge pull request #8520 from ThomasWaldmann/vagrant-improvements
vagrant improvements
2024-11-03 21:14:53 +01:00
Thomas Waldmann
32a8c9a3c9
vagrant: fix pythons on freebsd14
- install with sqlite3
- make sure there is python3/pip3/virtualenv command
2024-11-03 19:28:15 +01:00
Thomas Waldmann
a0f56bfddd
vagrant: simplify openindiana box setup 2024-11-03 15:05:07 +01:00
TW
4a88e16790
Merge pull request #8519 from ThomasWaldmann/revert-8510
improve borg mount docs
2024-11-03 14:32:29 +01:00
Thomas Waldmann
5fc72080bb
mount docs: apply jdchristensen's suggestion, better phrasing. 2024-11-03 14:04:45 +01:00
Thomas Waldmann
c49a4e20eb
Revert "docs: Fix grammar in borg mount docs #8510"
This reverts commit d3f3082bf4.

Comment by jdchristensen:

I agree that "wipe clean" is correct grammar, but it doesn't match the situation in "unmount cleanly".
The change in this patch is definitely wrong.
Putting it another way, one would never say that we "clean unmount a filesystem".
We say that we "cleanly unmount a filesystem", or in other words, that it "unmounts cleanly".

But the original text is slightly awkward, so I would propose: "When running in the foreground,
^C/SIGINT cleanly unmounts the filesystem, but other signals or crashes do not."

(Not that this guarantees anything, but I'm a native speaker.)
2024-11-03 14:00:00 +01:00
TW
bef9595463
Merge pull request #8516 from ThomasWaldmann/fix-compress-entry
compress_entry: fix assertion failure
2024-11-03 00:16:42 +01:00
Thomas Waldmann
0545b6a2eb
compress_entry: fix assertion failure
if the size is not known yet in the chunks index, we must update the value there.
2024-11-02 19:21:08 +01:00
TW
59459af88b
Merge pull request #8513 from ThomasWaldmann/refcount-becomes-flags
ChunkIndexEntry.refcount -> .flags
2024-11-02 02:33:50 +01:00
Thomas Waldmann
8a13cf2c4d
make mypy happy 2024-11-02 00:06:09 +01:00
Thomas Waldmann
2ab3c163ce
invalidate existing cache by incrementing the ChunkIndex seed
we changed the semantics (and name) of the first tuple element:
refcount -> flags

thus, better invalidate existing cache.
2024-11-01 23:57:38 +01:00
Thomas Waldmann
ba3e701730
ChunkIndex.add: remove useless refs parameter 2024-11-01 23:53:01 +01:00
Thomas Waldmann
94effcd782
ChunkIndex: .refcount -> .flags
We gave up refcounting quite a while ago and are only interested
in whether a chunk is used (referenced) or not (orphan).

So, let's keep that uint32_t value, but use it for bit flags, so
we could use it to efficiently remember other chunk-related stuff also.
2024-11-01 23:52:59 +01:00
TW
8bdf6b7ffb
Merge pull request #8512 from ThomasWaldmann/use-refcount-less
seen_chunk: do not use .refcount
2024-11-01 22:20:18 +01:00
TW
3c38b2fa66
Merge pull request #8511 from ThomasWaldmann/files-cache-using-borghash
reduce memory consumption of files cache, fixes #5756
2024-11-01 21:06:49 +01:00
Thomas Waldmann
de1b7e0581
seen_chunk: do not use .refcount
If we have an entry for a chunk id in the ChunkIndex,
it means that this chunk exists in the repository.

The code was a bit over-complicated and used entry.refcount
only to detect whether .get(id, default) actually got something
from the ChunkIndex or used the provided default value.

The code does the same now, but in a simpler way.
Additionally, it checks for size consistency if a size is
provided by the caller and a size is already present in
the entry.
2024-11-01 21:05:49 +01:00
Thomas Waldmann
26bb7825b1
minor cleanup 2024-11-01 17:48:15 +01:00
Thomas Waldmann
e053307523
reduce memory consumption of files cache, fixes #5756
- refactor packing/unpacking of fc entries into separate functions
- instead of a chunks list entry being a tuple of 256bit id [bytes] and 32bit size [int],
  only store a stable 32bit index into kv array of ChunkIndex (where we also have id and
  size [and refcount]).
- only done in memory, the on-disk format has (id, size) tuples.

memory consumption (N = entry.chunks list element count, X = overhead for rest of entry):
- previously:
  - packed = packb(dict(..., chunks=[(id1, size1), (id2, size2), ...]))
  - packed size ~= X + N * (1 + (34 + 5)) Bytes
- now:
  - packed = packb(dict(..., chunks=[ix1, ix2, ...]))
  - packed size ~= X + N * 5 Bytes
2024-11-01 17:47:43 +01:00
TW
b553452911
Merge pull request #8484 from mrichtarsky/docs
Docs: Remove --bypass-lock, small changes regarding compression
2024-11-01 12:26:06 +01:00
TW
168d34664e
Merge pull request #8483 from mrichtarsky/faq
docs/FAQ: Clean up entries regarding SSH settings
2024-11-01 12:16:37 +01:00
TW
038f6da988
Merge pull request #8510 from fantasya-pbem/master
docs: Fix grammar in borg mount docs
2024-11-01 12:06:07 +01:00
Thalian
d3f3082bf4 docs: Fix grammar in borg mount docs #8510
"clean" as adverb does not have suffix -ly.
Source: https://dict.leo.org/grammatik/englisch/adjv_usage_flat.php?lang=de#id=5.3.1.b
2024-11-01 07:57:10 +01:00
Martin Richtarsky
b913d9dd1a docs/FAQ: Clean up entries regarding SSH settings
Link to recommended ones
2024-11-01 07:43:47 +01:00
TW
5da1ff166f
Merge pull request #8505 from ThomasWaldmann/rel200b13
release 2.0.0b13
2024-10-31 23:54:09 +01:00
Thomas Waldmann
bd5060887c
pyinstaller: add borghash to hidden imports 2024-10-31 22:19:30 +01:00
Thomas Waldmann
66e17ff6c8
build_usage, build_man 2024-10-31 20:50:06 +01:00
Thomas Waldmann
63c74ca313
update CHANGES 2024-10-31 20:45:33 +01:00
TW
3a66fd78c2
Merge pull request #8504 from ThomasWaldmann/debug-show-chunksindex-stats
chunks index: show hashtable stats at debug log level, fixes #506
2024-10-31 20:28:05 +01:00
Thomas Waldmann
1ec66edeff
chunks index: show hashtable stats at debug log level, fixes #506 2024-10-31 20:07:09 +01:00
TW
1f00d29d19
Merge pull request #8502 from ThomasWaldmann/borghash
replace old hashindex code by borghash + small wrapper
2024-10-31 19:26:49 +01:00
Thomas Waldmann
c37c78f6be
change xxh64 seed for ChunkIndex to invalidate old cache contents
borg2 < beta 12 used the old hashindex code to serialize the ChunkIndex.

beta 12 uses borghash now and the serialization format is different.
2024-10-31 17:47:22 +01:00
Thomas Waldmann
601fc48388
require borghash 2024-10-31 17:18:34 +01:00
Thomas Waldmann
06c44b0284
hashindex: cimport -> import 2024-10-31 15:29:58 +01:00
Thomas Waldmann
1fa2b9a1a0
vagrant: fix macos1012 box, try 5 2024-10-29 18:12:17 +01:00
Thomas Waldmann
af8d2583a5
vagrant: fix macos1012 box, try 4 2024-10-29 14:44:37 +01:00
Thomas Waldmann
66f06f156d
vagrant: fix macos1012 box, try 3 2024-10-28 23:16:50 +01:00
Thomas Waldmann
3fb543dd2b
vagrant: fix macos1012 box, try 2 2024-10-28 21:35:33 +01:00
TW
7a2d174d4e
Merge pull request #8497 from ThomasWaldmann/vagrant-pyenv-reduce
vagrant: reduce pythons built, fix macos box
2024-10-28 21:17:11 +01:00
Thomas Waldmann
3a7881f8dd
vagrant: fix macos1012 box (curl, ca-certificates, openssl@3) 2024-10-28 21:10:28 +01:00
Thomas Waldmann
2ca8ef33e1
vagrant: pyenv: only install python 3.12
on macOS, installing older Pythons seems to uninstall OpenSSL 3 and only 1.1 is left.

also, building all these pythons and misc. openssl versions takes forever and we
only need 3.12 for the binary build. testing on misc. python versions is regularly
done one github actions CI.
2024-10-28 10:41:30 +01:00
TW
b428f8496d
Merge pull request #8494 from ThomasWaldmann/fix-macos-vagrant
avoid broken pip 24.2
2024-10-28 00:45:46 +01:00
TW
c7c204e713
Merge pull request #8492 from ThomasWaldmann/fix-archive-size-transfer
work around missing size/nfiles archive metadata, fixes #8491
2024-10-27 13:16:13 +01:00
Thomas Waldmann
43ec9fc7f3
avoid broken pip 24.2
- it is broken on old macOS
- python 3.12.5/6/7 has bundled pip 24.2
2024-10-27 13:04:51 +01:00
Thomas Waldmann
cea2d5809d
work around missing size/nfiles archive metadata, fixes #8491 2024-10-27 01:19:08 +02:00
Thomas Waldmann
ec11ac259b
hashindex: remove permit_compact arguments, not used 2024-10-26 21:53:53 +02:00
Thomas Waldmann
f59e0249be
hashindex: move common code to Mixin class 2024-10-26 20:16:23 +02:00