Commit Graph

6510 Commits

Author SHA1 Message Date
TW
da763cedda
Merge pull request #6301 from ThomasWaldmann/safe-unlink-master
safe_unlink (was: truncate_and_unlink)
2022-02-16 22:56:03 +01:00
Thomas Waldmann
b292e158a6 rename truncate_and_unlink to safe_unlink
it usually does not truncate any more,
only under "disk full" circumstances and only if there is only one hardlink.
2022-02-15 21:08:34 +01:00
Thomas Waldmann
4a2ab496e0 safer truncate_and_unlink implementation
the previous implementation caused collateral damage on hardlink-copies of a repository,
see: https://github.com/borgbackup/borg/discussions/6286
2022-02-15 12:58:37 +01:00
TW
6c5e818510
Merge pull request #6299 from ThomasWaldmann/update-changes-master
update CHANGES
2022-02-14 20:33:27 +01:00
Thomas Waldmann
ee32c1b63d update CHANGES 2022-02-14 18:55:59 +01:00
TW
4896fe1560
Merge pull request #6296 from ThomasWaldmann/cache-pre12-archive-meta
info: use a pre12-meta cache to accelerate stats for borg < 1.2 archives
2022-02-14 18:29:17 +01:00
TW
fb194baf09
Merge pull request #6295 from taandrighetti/fix-dir-hardlinkmasters
diff: reduce memory consumption, fix is_hardlink_master
2022-02-14 18:25:36 +01:00
Thomas Waldmann
a2fb9cde4e calc_stats progress display: add archive name 2022-02-14 18:00:02 +01:00
Thomas Waldmann
25e27a1539 info: use a pre12-meta cache to accelerate stats for borg < 1.2 archives
first time borg info is invoked on a borg 1.1 repo, it can take
a rather long time computing and caching some stats values for
1.1 archives, which borg 1.2 archives have in their archive
metadata structure. be patient, esp. if you have lots of old
archives.

following invocations are much faster.
2022-02-14 18:00:02 +01:00
Tomás Andrighetti
a2ae36bb54 Exclude directories in is_hardlink_master 2022-02-13 19:23:40 -03:00
TW
0cebe62264
Merge pull request #6290 from ThomasWaldmann/compact-free-space-master
compact segments: improve freeable / freed space log output
2022-02-13 18:25:01 +01:00
TW
aafb22ecf7
Merge pull request #6292 from ThomasWaldmann/fix-setdefault-master
implement more standard hashindex.setdefault behaviour
2022-02-13 13:54:13 +01:00
Thomas Waldmann
603b58f6a1 implement more standard hashindex.setdefault behaviour
the .get() like behaviour (== returning the value) was missing.

it's still not 100% like dict.setdefault, because there is no
default value None. but None doesn't make sense here, because we
usually need a N-tuple matching the hash table's value format.

note: this "bug" (or unusual implementation) was without consequences,
      because hashindex.setdefault is not used anywhere in borg, so
      it was also not used in a wrong way anywhere.

https://docs.python.org/3/library/stdtypes.html#dict.setdefault
2022-02-13 03:47:44 +01:00
Thomas Waldmann
17e8aef394 compact: not "freeable", but "maybe freeable"
e.g. if there is a ton of DELs in a segment, they all are maybe freeable,
but only if we also got rid of the respective PUTs (see also #6289).
2022-02-12 20:37:28 +01:00
Thomas Waldmann
e80b5c2272 compact: derive freed space from quota use before/after, fixes #5679
due to the way quota accounting is done, this is likely not
100% precise, but much better than selling the hints as the truth.
2022-02-12 20:37:18 +01:00
TW
94c3d7eb27
Merge pull request #6263 from ThomasWaldmann/docs-links-master
improve linking inside docs
2022-02-08 22:34:11 +01:00
TW
c56b15f271
Merge branch 'master' into docs-links-master 2022-02-08 21:57:58 +01:00
Andrey Bienkowski
24e8b38f1a
Doc: borg init: explain the encryption modes better (#6184)
docs:borg init: explain the encryption modes better

The documentation for borg init was not structured logically:
1. The topic is switched from the general discussion of `borg init`
   to the discussion of encryption modes without a title.
2. Obscure technical details (chunking, id generation etc) were
   above the high-level overview and other key information.
2022-02-08 21:55:51 +01:00
Thomas Waldmann
3428b9f2b4 docs: link to python 3.8 docs
because py38 is our minimum requirement.
2022-02-07 23:23:15 +01:00
Thomas Waldmann
510ceb86f8 docs: link to borg_placeholders 2022-02-07 22:36:24 +01:00
Thomas Waldmann
d79b325494 docs: link to borg_patterns 2022-02-07 22:33:28 +01:00
Thomas Waldmann
42fb25d4a7 docs: use same phrasing in misc. help texts 2022-02-07 21:40:15 +01:00
bobthebadguy
45df345d29
Clarify usage of patternfile roots (#6242) 2022-02-07 20:53:25 +01:00
TW
713efb5704
Merge pull request #6260 from hexagonrecursion/patch-1
Add hexagon-recursion to AUTHORS (master)
2022-02-07 20:17:39 +01:00
Andrey Bienkowski
3b5aab9e3d
Add hexagon-recursion to AUTHORS 2022-02-07 07:29:55 +00:00
TW
8c95dd46e3
Merge pull request #6257 from ThomasWaldmann/upgrade-docs
docs: add borg 1.2 upgrade notes, fixes #6217
2022-02-06 23:17:21 +01:00
Thomas Waldmann
634b1e5a1a docs: add borg 1.2 upgrade notes 2022-02-06 21:22:37 +01:00
TW
5fec0b8cb2
Merge pull request #6255 from ThomasWaldmann/docs-fixes-master
docs: indentation fixes (master)
2022-02-06 15:30:49 +01:00
Thomas Waldmann
f0809cfeba docs: rst markup: remove accidental indentation in patterns help 2022-02-06 00:47:33 +01:00
Thomas Waldmann
3f02d3cd3d docs: rst markup: remove accidental indentation, fixes #6248 2022-02-06 00:44:51 +01:00
TW
d4eb9bbd35
Merge pull request #6243 from hexagonrecursion/test-keyfile
Test: borg init refuses to overwrite keyfile
2022-02-06 00:04:51 +01:00
TW
e336e74659
Merge pull request #6249 from borgbackup/rel120rc1
release 1.2.0 rc1
2022-02-05 23:05:44 +01:00
Andrey Bienkowski
e21343d2a8 Fix ArchiverTestCaseBinary.test_init_refuse_to_overwrite_keyfile 2022-02-05 22:32:09 +03:00
Andrey Bienkowski
29201a0eb5 Test: borg init refuses to overwrite keyfile
https://github.com/borgbackup/borg/pull/6046 neglected to
add a regression test
2022-02-05 22:32:09 +03:00
Thomas Waldmann
d6bfb1147c appveyor: use py38 2022-02-05 18:04:47 +01:00
Thomas Waldmann
ef8aac2e4c build_man 2022-02-05 17:52:25 +01:00
Thomas Waldmann
b430c8d15a build_usage 2022-02-05 17:52:25 +01:00
Thomas Waldmann
55591b882e setup_docs: put import-tar into same file as export-tar 2022-02-05 17:52:25 +01:00
Thomas Waldmann
fa26d5f7c4 update CHANGES 2022-02-05 17:45:35 +01:00
TW
cde1f491aa
Merge pull request #6246 from ThomasWaldmann/excl-broken-setuptools-master
setuptools 60.7.0 is incompatible with pyinstaller
2022-02-05 15:42:32 +01:00
Thomas Waldmann
209a9e786c setuptools 60.7.0 is incompatible with pyinstaller
... even after fixes there.
2022-02-05 15:25:13 +01:00
TW
4fa9f1faa4
Merge pull request #6188 from hexagonrecursion/nonce
docs: impact of deleting path/to/repo/nonce
2022-02-05 13:31:07 +01:00
Andrey Bienkowski
6bc1f48e4e Apply review suggestions 2022-02-05 09:07:13 +03:00
Andrey Bienkowski
d6c16d77cb Review suggestion: mention local nonce path
> do we maybe also want to mention the specific path where the local
> nonce is kept?
2022-02-05 09:07:13 +03:00
Andrey Bienkowski
fab5024cb7 Doc: warn about tampered server nonce
https://github.com/borgbackup/borg/pull/6188#discussion_r794752672
> Well, guess one could also use max(list of trusted nonce values).
>
> The real issue is if you have lost all or some of the trusted
> (client side) nonce values and you also have reason to not trust the
> server side nonce, because someone might attack you on the server.
2022-02-05 09:07:13 +03:00
Andrey Bienkowski
62fe1cab30 Doc: impact of deleting path/to/repo/nonce
Fixes: https://github.com/borgbackup/borg/issues/5858
2022-02-05 09:07:04 +03:00
Andrey Bienkowski
4931eadd91 Refactor: extract get_security_dir() 2022-02-05 09:06:53 +03:00
Andrey Bienkowski
e663c9aa10 Strengthen the test: we can read data w/o nonces 2022-02-05 09:06:25 +03:00
Andrey Bienkowski
37dde58154 Add tests for path/to/repo/nonce deletion
I am about to add documentation for this feature. Per the "If you liked
it, you should have put a CI test on it" rule I am adding tests to
detect if the feature regresses (causing a discrepancy between the docs
and the real behavior).
2022-02-05 09:06:17 +03:00
TW
2197e94a31
Merge pull request #6241 from ThomasWaldmann/argparse-highlander-master
argument parsing: accept some options only once, fixes #6026
2022-02-04 22:33:16 +01:00