Commit Graph

162 Commits

Author SHA1 Message Date
Thomas Waldmann 43a20b052e
add ConnectionBrokenWithHint for BrokenPipeErrors and similar, see #7016
no traceback, but error message and specific exit code.
2024-02-20 00:17:55 +01:00
Thomas Waldmann 45815554ce
check_can_create_repository: deal with PermissionErrors, see #7016
borg init calls this. If there is a PermissionError, it is
usually fs permission issue at path or its parent directory.

Don't give a traceback, but rather an error msg and a specific exit code.
2024-02-20 00:07:43 +01:00
Thomas Waldmann 83c069ce5a
better error msg for corrupted key data, fixes #8016 2024-02-19 19:23:48 +01:00
Thomas Waldmann 5caf747011
update frontends.rst error/warning list 2024-02-15 18:17:18 +01:00
Thomas Waldmann 97dd287584
raise BackupOSError subclasses 2024-02-15 17:53:53 +01:00
Thomas Waldmann 9ac4672254
add NotFoundWarning 2024-02-15 17:04:21 +01:00
Thomas Waldmann 5168a97782
extend errorlist script to warnings, update docs 2024-02-14 02:04:44 +01:00
Thomas Waldmann c704e5ea9e
new warnings infrastructure to support modern exit codes
- implement updating exit code based on severity, including modern codes
- extend print_warning with kwargs wc (warning code) and wt (warning type)
- update a global warnings_list with warning_info elements
- create a class hierarchy below BorgWarning class similar to Error class
- diff: change harmless warnings about speed to rc == 0
- delete --force --force: change harmless warnings to rc == 0

Also:

- have BackupRaceConditionError as a more precise subclass of BackupError
2024-02-14 01:26:12 +01:00
Thomas Waldmann b18e613627
get rid of some rare error classes, use RTError instead 2024-02-13 23:44:02 +01:00
Thomas Waldmann 9de07ebd46
update "modern" error RCs (docs and code) 2024-02-13 22:58:02 +01:00
Thomas Waldmann 74c34ba7c6
docs: update security docs about new one-step KDF 2023-12-02 20:35:16 +01:00
Sophie Herold cdc6154200 docs: Add "check.rebuild_refcounts" message 2023-11-09 21:32:01 +01:00
Thomas Waldmann bd1d734591
docs: removed TAMs, introduce typed repo objects 2023-09-24 20:11:00 +02:00
Thomas Waldmann 96c3c90230
docs: remove hint about item_keys in manifest 2023-07-04 23:46:53 +02:00
Thomas Waldmann ddd93c5828
docs: remove --chunker-params hint to borg < 1.0 2023-07-04 23:41:17 +02:00
Thomas Waldmann 856d98c72f
document another way to get UTF-8 encoding on stdin/stdout/stderr, fixes #2273 2023-02-01 15:32:29 +01:00
Thomas Waldmann bf667170a7
ArchiveItem.cmdline list-of-str -> .command_line str, fixes #7246
Same change for .recreate_cmdline -> .recreate_command_line .

JSON output key "command_line":
borg 1.x: sys.argv [list of str]
borg 2: shlex.join(sys.argv) [str]
2023-01-20 00:19:00 +01:00
Thomas Waldmann 1672aee031
Item: symlinks: rename .source to .target, fixes #7245
Also, in JSON:
- rename "linktarget" to "target" for symlinks
- remove "source" for symlinks
2023-01-16 20:28:25 +01:00
Thomas Waldmann 8765e62bcd
document how borg deals with non-unicode bytes in JSON output 2023-01-16 17:45:46 +01:00
Paul D 253d8e8d4e Docs grammar fixes
joined split infinitives, and relocated adverbs appropriately.
2022-12-29 22:26:54 +00:00
Paul D a85b643866 Docs grammar fixes.
One cannot "to not x", but one can "not to x".
Avoiding split infinitives gives the added bonus that machine
translation yields better results.

setup (n/adj) vs set(v) up. We don't "I setup it" but "I set it up".

Likewise for login(n/adj) and log(v) in, backup(n/adj) and back(v) up.
2022-12-29 00:01:48 +00:00
Thomas Waldmann c8830cde44 update docs 2022-09-08 22:26:23 +02:00
TW c2bcecf2eb
Merge pull request #6942 from mh4ckt3mh4ckt1c4s/doc-shift-odg
update diagrams to odg format, fixes #6928
2022-08-09 22:03:09 +02:00
mh4ckt3mh4ckt1c4s 15a450c7e8 Fix transparency level 2022-08-09 21:20:44 +02:00
mh4ckt3mh4ckt1c4s 259d3fdc76 Tiny fix of transparency bug 2022-08-09 19:33:30 +02:00
mh4ckt3mh4ckt1c4s be9e99e346 Fix size of images to match old ones 2022-08-09 19:21:16 +02:00
mh4ckt3mh4ckt1c4s 3e40f68409 Added the transparency thing to compaction schema 2022-08-09 19:15:09 +02:00
mh4ckt3mh4ckt1c4s 45663552bf Updated compaction to an odg file 2022-08-07 22:13:33 +02:00
Thomas Waldmann 8148d4e400 fix sphinx warnings 2022-08-07 19:14:03 +02:00
mh4ckt3mh4ckt1c4s cd27313693 Changed structure schema to odg format 2022-08-07 00:55:22 +02:00
mh4ckt3mh4ckt1c4s 085b244bb7 Removed object-graph.vdg and added 'simplified' mention in schema 2022-08-07 00:25:31 +02:00
Thomas Waldmann fb74fdb710 massively increase per archive metadata stream size limit, fixes #1473
implemented by introducing one level of indirection, the limit is now
very high, so it is not practically relevant any more.

we always use the indirection (storing the metadata stream chunk ids list not
directly into the archive item, but into some repo objects referenced by the new
ArchiveItem.item_ptrs list).

thus, the code behaves the same for all archive sizes.
2022-08-06 19:01:41 +02:00
mh4ckt3mh4ckt1c4s 7ed3fad470 Updated object-graph to an odg file 2022-08-06 11:32:32 +02:00
Thomas Waldmann f621b21ec1 docs: update security.rst 2022-08-03 22:19:28 +02:00
Thomas Waldmann d5df53732d increase Key.version to 2
Old borg (< 2.0) can not read/process the new keys that have crypt_key instead of enc_key and enc_hmac_key.
2022-08-03 12:25:58 +02:00
Thomas Waldmann 89e4a52c56 docs: misc. updates
- remove outdated stuff
- fix infos for borg 2.0
2022-08-03 11:35:25 +02:00
Jonas Schäfer 33b846e292 docs: update encryption drawing for new compression bytes
Since compression type identification has been split into type and
level, the graphic needed a slight update.

Unfortunately, I don't have access to Visio, so I converted this to odg.
2022-07-30 19:24:26 +02:00
Jonas Schäfer c8ab490017 docs: provide more details on object layout
While writing my own out-of-band decoder, I had a hard time figuring out
how to unpack the manifest. From the description, I was only able to
read that the manifest is msgpack'd, but I had not been able to figure
out that it's also going through the same encryption+compression logic
as all other things do.

This should make it a little clearer and provide the necessary
information to understand how the compression works.
2022-07-30 19:24:26 +02:00
Thomas Waldmann ad7c7159b2 Merge branch 'master' into borg2 2022-07-27 13:49:50 +02:00
Thomas Waldmann c7e719f209 docs: update archive_progress json description about "finished", see #6570 2022-07-25 13:05:16 +02:00
a1346054 160dd877ab
fix typos 2022-07-22 15:51:46 +00:00
Thomas Waldmann 9d6c98d9f9 docs: remove _assert_id() call for new crypto 2022-07-20 14:31:37 +02:00
Thomas Waldmann 5e0c4a8fd4 document hlid, fixes #2388 2022-07-05 22:27:08 +02:00
Thomas Waldmann c7ed985ffd Merge branch 'master' into borg2 2022-07-02 23:28:39 +02:00
Thomas Waldmann ea4ed6b98f docs: json progress_percent: some values are optional, fixes #4074
in the finished == true message, these are missing:
- message
- current / total
- info

This is to be somewhat consistent with #6683 by only providing a
minimal set of values for the finished case.

The finished messages is primarily intended for cleanup purposes,
e.g. clearing the progress display.
2022-07-01 14:35:44 +02:00
Thomas Waldmann 51cf85e627 build_usage / build_man / doc updates 2022-06-25 21:58:19 +02:00
Thomas Waldmann 1393e4f391 remove csize references from docs 2022-06-12 18:01:57 +02:00
Thomas Waldmann 421d4bdfb0 docs: fix bytes -> str in data-structures docs 2022-06-09 17:57:28 +02:00
Thomas Waldmann 6bfdb3f630 refactor hardlink_master processing globally
borg now has the chunks list in every item with content.
due to the symmetric way how borg now deals with hardlinks using
item.hlid, processing gets much simpler.

but some places where borg deals with other "sources" of hardlinks
still need to do some hardlink management:
borg uses the HardLinkManager there now (which is not much more
than a dict, but keeps documentation at one place and avoids some
code duplication we had before).

item.hlid is computed via hardlink_id function.

support hardlinked symlinks, fixes #2379
as we use item.hlid now to group hardlinks together,
there is no conflict with the item.source usage for
symlink targets any more.

2nd+ hardlinks now add to the files count as did the 1st one.
for borg, now all hardlinks are created equal.
so any hardlink item with chunks now adds to the "file" count.

ItemFormatter: support {hlid} instead of {source} for hardlinks
2022-05-18 14:20:01 +02:00
Andrea Gelmini c79fd61b5c
Fix typos (#6688)
fix typos

Co-authored-by: Thomas Waldmann <tw@waldmann-edv.de>
2022-05-15 21:23:48 +02:00