Commit Graph

4935 Commits

Author SHA1 Message Date
Thomas Waldmann 011ba3ddf4 vagrant: suppress any error msgs from __pycache__/.tox cleanup 2018-03-27 20:57:05 +02:00
Thomas Waldmann 6b44531330 vagrant: update to Python 3.5.5 (for binary builds) 2018-03-27 20:55:13 +02:00
TW 05ed41fde0
WIP: update CHANGES (1.1) (#3670)
update CHANGES (1.1-maint)
2018-03-25 23:11:29 +02:00
TW b6fd9ba6a5
Merge pull request #3727 from milkey-mouse/issue-3448-bp1.1
set rc=1 when extracting damaged files (1.1 backport)
2018-03-25 20:47:50 +02:00
Thomas Waldmann f253899066
set rc=1 when extracting damaged files, fixes #3448
- size inconsistencies
- file has all-zero replacement chunks

introduced new BackupError exception. when raised while extracting
files, gets handled via emitting a warning, setting rc=1 and
proceeding to next file.
2018-03-24 20:57:54 -07:00
TW 2147df91be
Merge pull request #3723 from ThomasWaldmann/stdin-filename-1.1
create: implement --stdin-name, fixes #3533 (1.1 backport)
2018-03-25 00:33:53 +01:00
Thomas Waldmann 1159cd3077 create: implement --stdin-name, fixes #3533
(cherry picked from commit 01d2f72813)
2018-03-24 23:00:54 +01:00
TW 4f4953ca9c
Merge pull request #3721 from ThomasWaldmann/quickstart-intro-1.1
Add quickstart introduction to repositories & archives (fixes #3620) 1.1-maint port
2018-03-24 22:14:18 +01:00
Milkey Mouse 8e5833f91b Add quickstart introduction to repositories & archives (fixes #3620)
(cherry picked from commit 09beb64f34)
2018-03-24 22:06:50 +01:00
TW ecb93fff51
Merge pull request #3720 from ThomasWaldmann/fingerprinting-docs-1.1
security: describe chunk size / proximity issue, see #3687
2018-03-24 22:04:02 +01:00
Thomas Waldmann f3465c7932 security: describe chunk size / proximity issue, see #3687
(cherry picked from commit 8ac272f35f)
2018-03-24 22:00:41 +01:00
TW 8c40c19508
Merge pull request #3715 from milkey-mouse/getpass-ux-bp1.1
improve getpass user experience (1.1 backport)
2018-03-24 21:35:23 +01:00
TW c5cf417df1
Merge pull request #3714 from milkey-mouse/set-prev-location-early-bp1.1
Set cache previous_location on load instead of save (1.1 backport)
2018-03-24 21:33:21 +01:00
Thomas Waldmann b33fbd6d8c
improve getpass user experience, see #3689
if interactive passphrase query fails and the env vars are not set,
show a clear error message about this.

users often do 'BORG_PASSPHRASE=secret', forgetting the 'export'.
or they use sudo (and not sudo -E).
in both cases, the env vars won't be available for the borg process.
2018-03-24 11:20:55 -07:00
Milkey Mouse f4e0a5810b
Set previous_location on load instead of save
This caused a really stupid bug with borg config --cache, see
https://github.com/borgbackup/borg/issues/3304#issuecomment-371896766
2018-03-24 11:09:25 -07:00
TW 4a71931e89
Merge pull request #3713 from ThomasWaldmann/fix-3707
Vagrant: xenial64 box now uses username 'vagrant', fixes #3707
2018-03-24 00:40:37 +01:00
Thomas Waldmann 3457439a45 Vagrant: xenial64 box now uses username 'vagrant', fixes #3707 2018-03-24 00:30:18 +01:00
TW 7127fb7f94
Merge pull request #3712 from ThomasWaldmann/fix-3706
Vagrant: move cleanup steps to fs_init, fixes #3706
2018-03-24 00:13:35 +01:00
TW c722bd303a
Merge pull request #3711 from ThomasWaldmann/fix-3705
skip test if argparse is broken, fixes #3705
2018-03-24 00:12:57 +01:00
Thomas Waldmann ad826cebad Vagrant: move cleanup steps to fs_init, fixes #3706
so after a vagrant up or vagrant reload (which both rsync), we
can just call the fs_init and run_tests provisioning steps and do
not need to call install_borg again.
2018-03-24 00:03:55 +01:00
Thomas Waldmann cb49431493 skip test if argparse is broken, fixes #3705
the borg command in the test has 0 path arguments.
Our PATH arg is specified with nargs='*', so that should be valid,
but it crashes python 3.4.0 .. 3.4.2. Python >=3.4.3 works.
2018-03-23 23:13:43 +01:00
TW 60ada21d7a
Merge pull request #3702 from ThomasWaldmann/fix-checkpoint-interval-default
fix Archive's checkpoint_interval arg default (300 -> 1800s)
2018-03-20 23:14:01 +01:00
Thomas Waldmann 8434f8360c fix Archive's checkpoint_interval arg default (300 -> 1800s)
the commandline arg default was already at 1800, so likely this is
only a cosmetic fix.
2018-03-18 14:45:25 +01:00
TW cbb19ca493
Merge pull request #3672 from ThomasWaldmann/files-cache-non-lazy
non-lazy files cache
2018-03-18 13:58:09 +01:00
TW 005c5a25cb
Merge pull request #3700 from ThomasWaldmann/backports-20
Backports 20
2018-03-18 01:30:51 +01:00
Thomas Waldmann 337c86b470 recreate --recompress: add metavar, clarify description
(cherry picked from commit c0f56ed039)
2018-03-17 23:52:44 +01:00
Thomas Waldmann a48fffad6e borg config --cache: allow validated access to previous_location
(cherry picked from commit 810986f0f5)
2018-03-17 23:49:21 +01:00
Thomas Waldmann d5917204c3 fix borgfs patterns/paths processing, fixes #3551
Just checking for None in patterns.py (and removing the set_defaults
calls in archiver.py) did not work as other arg parsing code relies on
having an empty list (in .patterns, .paths) to append to.

Thus I stayed away from pattern.py and rather fixed the defaults for
.paths and .patterns in all parsers.

(cherry picked from commit df9020389c)
2018-03-17 23:46:36 +01:00
TW 996a3dc2be
Merge pull request #3699 from ThomasWaldmann/backports-19
Backports 19
2018-03-17 23:43:37 +01:00
TW 502f11b9da
Merge pull request #3698 from ThomasWaldmann/backports-18
Backports 18
2018-03-17 21:43:31 +01:00
Thomas Waldmann 920e144c81 be more clear in secure-erase warning message, fixes #3591
(cherry picked from commit fe65ccf95a)
2018-03-17 21:39:27 +01:00
Thomas Waldmann 1e7c87b23d be more helpful when parsing invalid --pattern values
say what the real problem is.
say what is valid.

(cherry picked from commit f5ba0fc649)
2018-03-17 21:37:40 +01:00
Thomas Waldmann 1db42a58a5 make sure all segment file offsets fit into uint32, fixes #3592
C code and the repo index use uint32 type for segment file offsets,
so when opening a repo and the config max_segment_size is too big,
fail early.

Also disallow setting a too big value via "borg config".

(cherry picked from commit 0e0e6da585)
2018-03-17 21:34:42 +01:00
Thomas Waldmann e96730ac24 borg config: add some validation, fixes #3566
only a few basic checks, it does not prevent all stupidities.

(cherry picked from commit 2d637d8ead)
2018-03-17 21:33:53 +01:00
TW 8f2d80e60b
Merge pull request #3697 from ThomasWaldmann/backports-17
Backports 17
2018-03-17 21:27:09 +01:00
Thomas Waldmann b6ed644d58 docs: clarify path semantics when matching, fixes #3598
(cherry picked from commit 9b73d31a40)
2018-03-17 21:24:19 +01:00
Thomas Waldmann bdc58c00ed docs: add an example for --pattern usage, fixes #3661
(cherry picked from commit cf72c9592c)
2018-03-17 21:24:08 +01:00
Thomas Waldmann 30db004de6 docs: improve logging docs, fixes #3549
(cherry picked from commit 99be106bc8)
2018-03-17 21:21:55 +01:00
Thomas Waldmann 1f943f228f quickstart: add note about permissions, borg@localhost, fixes #3452
(cherry picked from commit 7bc2138dcb)
2018-03-17 21:19:23 +01:00
Thomas Schwinge ea344260d6 Mark up Unicode string
Running Sphinx v1.4.8
    WARNING: the config value 'copyright' is set to a string with non-ASCII characters; this can lead to Unicode errors occurring. Please use Unicode strings, e.g. u'Content'.
    [...]
    Encoding error:
    'ascii' codec can't decode byte 0xc3 in position 23: ordinal not in range(128)

(cherry picked from commit 2458035057)
2018-03-17 21:18:17 +01:00
Thomas Waldmann 2f443cae73 docs: extend append-only repo rollback docs, fixes #3579
(cherry picked from commit 451b22ee51)
2018-03-17 21:12:41 +01:00
Thomas Waldmann 0555fe4869 security docs: add about combining compression and encryption
(cherry picked from commit be8913a93c)
2018-03-17 21:11:15 +01:00
enkore ac0b9fbdae sec docs: explicitly note what happens OUTSIDE the attack model
(cherry picked from commit 674ce72fda)
2018-03-17 21:09:13 +01:00
TW d7ec959ce2
Merge pull request #3692 from ThomasWaldmann/diff-deleted-empty
fix diff deleted/empty, fixes #3688
2018-03-17 19:41:38 +01:00
Thomas Waldmann c3b7d7b60c consider an empty file as different to a non-existing file, fixes #3688 2018-03-17 18:50:51 +01:00
Thomas Waldmann 01beee37a7 add test for issue #3688
(cherry picked from commit 0a46d3330c)
2018-03-17 18:30:44 +01:00
Thomas Waldmann d3274cd2c9 cleanup: move "processing files" message to expected place
(now possible as we do not lazy load the files cache any more)
2018-03-08 04:21:58 +01:00
Thomas Waldmann e4125b4b64 cleanup: get rid of ignore_inode, replace with cache_mode
ignore_inode == ('i' not in cache_mode)  # i)node
2018-03-08 04:10:43 +01:00
Thomas Waldmann c27c98ced0 cleanup: get rid of Cache.do_files, replace with cache_mode
not do_files == (cache_mode == 'd')  # d)isabled
2018-03-08 03:39:38 +01:00
Thomas Waldmann e9af3c6ab3 read files cache early, init checkpoint timer after that, see #3394
reading the files cache can take considerable amount of time (a user
reported 1h 42min for a 700MB files cache for a repo with 8M files and
15TB total), so we must init the checkpoint timer after that or borg
will create the checkpoint too early.

creating a checkpoint means (among other stuff) saving the files cache,
which will also take a lot of time in such a case, one time too much.

doing this in a clean way required some refactoring:
- cache_mode is now given to Cache initializer and stored in instance
- the files cache is loaded early in _do_open (if needed)
2018-03-08 03:20:56 +01:00