Commit Graph

548 Commits

Author SHA1 Message Date
Robin Schneider fb38ba579f
Use HTTPS everywhere (mechanical edit using util from https-everywhere)
Ref: https://github.com/EFForg/https-everywhere/tree/master/utils/rewriter

```Shell
~/src/EFForg/https-everywhere/utils/rewriter/rewriter.js .
```

A few changes were reset/fixed manually before the commit.
2020-12-22 16:36:40 +01:00
Thomas Waldmann 24d3400dd4 borg export-tar: fix memory leak with ssh: remote repository, fixes #5568
also: added a comment how to avoid this kind of memory leak.
2020-12-17 22:55:13 +01:00
Thomas Waldmann 6a18c47464 cosmetic: make parens structure in borg export-tar similar to borg extract 2020-12-17 22:54:59 +01:00
Thomas Waldmann 2815ba51fa use same code in export-tar as in extract
the partial_extract parameter was missing and that can lead to to many items being preloaded.
2020-12-17 22:54:44 +01:00
Nehalenniæ Oudin 5017bc4d04
Add a --list switch to borg delete (#5503)
add a --list switch to borg delete, fixes #5116
2020-12-11 19:11:47 +01:00
Lapinot e1af909d2b
create: implement --paths-from-stdin and --paths-from-command (#5538)
create: implement --paths-from-stdin and --paths-from-command, see #5492

These switches read paths to archive from stdin. Delimiter can specified
by --paths-delimiter=DELIM. Paths read will be added honoring every
option but exclusion options and --one-file-system. Directories aren't
recursed into.
2020-12-06 17:28:25 +01:00
Thomas Waldmann b45874bead ObfuscateSize compressor 2020-12-02 14:21:42 +01:00
Nehalenniæ Oudin 2c8e523848
Complements the documentation for pattern files and exclude files (#5520)
docs: "filename with spaces" example added to exclude file, fixes #5236

note: no whitespace escaping needed, processed by borg.
2020-11-29 18:01:38 +01:00
Lapinot 34f6cfcd81
Outsource recursive directory walking (#5492)
Split recursive directory walking/processing into walking and item processing.
2020-11-15 15:31:01 +01:00
Milkey Mouse 16c49d177b
Use --timestamp for {utcnow} and {now} if given (fixes #5189) 2020-11-03 13:00:31 -08:00
TW 47e96bc261
Merge pull request #5475 from milkey-mouse/fp-5377
docs: how to approach borg speed issues (forward port)
2020-11-03 15:55:15 +01:00
TW 02d917b460
Merge pull request #5477 from milkey-mouse/fp-5418
fix --dry-run and --stats coexistence
2020-11-03 15:49:11 +01:00
Thomas Waldmann 2a73adadd0 fix --dry-run and --stats coexistence, fixes #5415 2020-11-02 17:47:16 -08:00
Thomas Waldmann 60ee199a0f docs: how to approach borg speed issues, fixes #5371
also: give a speed example for unchanged files

also: explicitly mention chmod/chown changing ctime

also: reformat one paragraph
2020-11-02 17:36:08 -08:00
TW b05182260c
Merge pull request #5430 from ThomasWaldmann/pyfuse3
add pyfuse3 as an alternative lowlevel fuse implementation
2020-11-02 22:51:17 +01:00
Phil Kulin c0504c0669 create: implement --stdin-mode, --stdin-user and --stdin-group, #5333 2020-11-01 20:45:56 +03:00
Thomas Waldmann 49b1421682 FUSE: support pyfuse3 additionally to llfuse, fixes #5407
FUSE implementation can be switched via env var BORG_FUSE_IMPL.
2020-10-31 22:04:44 +01:00
Marian Beermann c81bc43ad5 export-tar: set tar format to GNU_FORMAT explicitly
Python 3.8 changed the default format to PAX, but GNU format is
documented for Borg.
2020-10-17 21:52:40 +02:00
eike-fokken 1f0458d016
Clarify '--one-file-system' for btrfs (#5391)
docs: clarify borg create's '--one-file-system' option, #4009

The documentation now explicitly mentions btrfs subvolumes and
explains how --one-file-system works.

Co-authored-by: Eike <e.fokken+git@posteo.de>
2020-10-12 13:26:09 +02:00
Thomas Waldmann 90aef3bfcc docs: mention double --force in prune docs 2020-09-27 23:57:30 +02:00
TW 9d96d78d19
Merge pull request #5266 from fantasya-pbem/docs/5165_recreate-list-item-flags_master
docs: point to borg create --list item flags in recreate usage, fixes #5165
2020-07-30 12:12:17 +02:00
Thalian 78396bfc23 docs: point to borg create --list item flags in recreate usage, fixes #5165 2020-07-30 07:39:33 +02:00
Thalian 528e507d21 docs: add a note to create from stdin regarding files cache, fixes #5180 2020-07-25 20:10:29 +02:00
TW 303c11f245
rephrase some warnings, fixes #5164 (#5241)
rephrase some warnings, fixes #5164

borg check --repair and borg recreate are now present in the code since rather long, so they are not experimental any more.

borg recreate might be used wrongly (e.g. accidentally excluding everything / not matching anything when recreating an archive). added some warning words in the docs, but it will not ask for confirmation any more.

borg check: there might be kinds of corruption borg check --repair can not fix and it might make things even worse while trying to fix. so this will still ask for confirmation, just with different wording.
2020-07-10 19:26:18 +02:00
Thomas Waldmann 264c799c50 use allow/deny list wording 2020-07-07 23:01:55 +02:00
Thomas Waldmann e0545e921d exit with 128 + signal number, fixes #5161
as documented:

https://borgbackup.readthedocs.io/en/stable/usage/general.html#return-codes

compatibility warning: in case you have scripts expecting rc == 2 for a
signal exit, you need to update them to check for >= 128.
2020-06-30 00:17:10 +02:00
TW 5b5bd9f7f2
Merge pull request #5238 from fantasya-pbem/docs/5193_Recreate-exclude-if-present
docs: clarify --exclude-if-present in recreate, #5193
2020-06-29 21:18:12 +02:00
Thalian f096656438 docs: clarify how exclude options work in recreate, #5193
fixes #5193
2020-06-28 15:40:28 +02:00
TW 7033d5054f
Merge pull request #5226 from ThomasWaldmann/server-enforces-umask
--umask is for the local borg process only, fixes #4947
2020-06-28 14:58:41 +02:00
TW 8e846935a2
Merge pull request #5201 from strager/import-to-key-file
allow key-import+BORG_KEY_FILE to create key files
2020-06-20 00:32:09 +02:00
Thomas Waldmann c531901763 --umask is for the local borg process only, fixes #4947
The umask value is NOT transmitted from client to server any more,
so the borg client can not influence the borg server umask any more.

If one wants to have a specific umask on the server side, one needs to
use a ssh forced command in .ssh/authorized_keys file.

OTOH, as the default value is 077 (in general, for client as well as for
the server) and the server does not take the value from the client any more,
there usually should be no need to give it on the server side, IF you are
happy with the default value.
2020-06-14 18:35:03 +02:00
Thomas Waldmann d8cbdfc359 fix typo 2020-06-08 01:46:56 +02:00
Matthew Glazar 5a32de918e allow key-import+BORG_KEY_FILE to create key files
Running 'borg key import' on a keyfile repository with the BORG_KEY_FILE
environment variable set works correctly if the BORG_KEY_FILE file
already exists. However, the command crashes if the BORG_KEY_FILE file
does not exist:

    $ BORG_KEY_FILE=newborgkey borg key import /home/strager/borg-backups/straglum borgkey
    Local Exception
    Traceback (most recent call last):
      [snip]
      File "[snip]/borg/crypto/key.py", line 713, in sanity_check
        with open(filename, 'rb') as fd:
    FileNotFoundError: [Errno 2] No such file or directory: '[snip]/newborgkey'

    Platform: Linux straglum 5.0.0-25-generic #26~18.04.1-Ubuntu SMP Thu Aug 1 13:51:02 UTC 2019 x86_64
    Linux: debian buster/sid
    Borg: 1.1.11  Python: CPython 3.7.7 msgpack: 0.5.6
    PID: 15306  CWD: /home/strager/Projects/borg
    sys.argv: ['[snip]/borg', 'key', 'import', '/home/strager/borg-backups/straglum', 'borgkey']
    SSH_ORIGINAL_COMMAND: None

Make 'borg key import' not require the BORG_KEY_FILE file to already
exist.

This commit does not change the behavior of 'borg key import' without
BORG_KEY_FILE. This commit also does not change the behavior of 'borg
key import' on a repokey repository.
2020-06-04 19:29:15 -07:00
Peter Gerber 00b09370c0
Allow creating archives using stdout of given command (#5174)
allow creating archives using stdout of given command

In addition to allowing:

some-command --param value | borg create REPO::ARCH -

also allow:

borg create --content-from-command create REPO::ARCH -- some-command --param value

The difference is that the latter approach deals with errors properly.
In the former example, an archive is created no matter what. Even, if
`some-command` aborts and the output is truncated, Borg won't realize.
In the latter example, the status code is checked and archive creation
is aborted properly when appropriate.
2020-06-02 22:24:14 +02:00
TW 08a12cc405
Merge pull request #5160 from fantasya-pbem/bugfix/borg-config-last-segment-checked
borg config --list does not show last_segment_checked, fixes #5159
2020-04-28 19:31:32 +02:00
Thalian 94189b3203 [BUGFIX] Borg config --list does not show last_segment_checked, #5159
fixes #5159
2020-04-27 21:31:57 +02:00
RR 0e76dff33e
fix "--recompress option is counter intuitive", fixes #5154 (#5155)
docs: clarify --recompress option, fixes #5154
2020-04-27 21:08:47 +02:00
TW 27a41f5c1f
Merge pull request #5115 from ThomasWaldmann/redo-pr-4269
docs: clarify borg init's encryption modes
2020-04-21 11:45:40 +02:00
Thalian f4f1a75a15 [DOCS] Add note about patterns and stored paths, #4160
Add a section that explains storage of relative paths and how patterns can be used arbitrarily since Borg 1.2.
2020-04-19 12:20:46 +02:00
Thomas Waldmann b5d6e23d84 docs: clarify borg init's encryption modes 2020-04-16 21:35:33 +02:00
TW c867ebfeb6
Merge pull request #5048 from finefoot/patch-8
Option to bypass locking to use sensible borg commands with read-only repositories
2020-04-11 22:18:37 +02:00
finefoot e49a17143d Add option to bypass locking mechanism 2020-04-11 17:04:52 +02:00
Thalian ce27cf3d4b [DOC] Document one cause of orphaned chunks in check command, #2295
Clean up the whole check usage paragraph.
2020-04-11 14:58:47 +02:00
TW 54df299604
Merge pull request #5034 from fantasya-pbem/docs/3428_Restore-after-corruption
docs: borg repo restore instructions needed, fixes #3428
2020-04-05 21:13:25 +02:00
Thomas Waldmann da6d1ac538 support msgpack 1.0.0, fixes #5065
our data structures need strict_map_key=False, which is not the
default of msgpack 1.0.0. i made it default in our wrapper API.

call our wrapper for performance profile creation/conversion also
to avoid msgpack compat issues.

remove encoding from wrapper api, we do not use it any more.

remove raw is True check, we need false for profiles

strict_map_key is only supported for msgpack >= 1.0.0.
2020-04-04 22:04:45 +02:00
Thalian 1d9dadd6b7 [DOCS] #4883 – Borg documentation downplays severity of Nonce reuse issue
Shorten the log info for deleting/keeping security info. Fix bad wording.
2020-04-03 17:40:30 +02:00
TW da80a6a37d
Merge pull request #4918 from mirobertod/master
Issue #4788 added consider checkpoints and relative test
2020-04-02 21:15:13 +02:00
Thalian 92b577e46f [FEATURE] Delete option to keep security info
When deleting a repository there is now an option --keep-security-info to leave the security info untouched.
It can be used afterwards with an older copy of the repo but current nonce to not breach security.
2020-03-26 20:02:10 +01:00
Thalian 08a7661e67 [FEATURE] #4489 – Deprecate --nobsdflags option
Replaced by --noflags. In internal data structure the key 'bsdflags' is kept for backwards compatibility.
2020-03-25 06:35:15 +01:00
mirobertod a69c20f2b9 added consider checkpoints and relative test 2020-03-09 14:52:24 +01:00