Ver Fonte

Merge pull request #5718 from ThomasWaldmann/rel1116

release 1.1.16
TW há 4 anos atrás
pai
commit
760dead0bb

+ 1 - 13
Vagrantfile

@@ -381,18 +381,6 @@ Vagrant.configure(2) do |config|
     b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("bionic64")
   end
 
-  config.vm.define "xenial64" do |b|
-    b.vm.box = "ubuntu/xenial64"
-    b.vm.provider :virtualbox do |v|
-      v.memory = 1024 + $wmem
-    end
-    b.vm.provision "fs init", :type => :shell, :inline => fs_init("vagrant")
-    b.vm.provision "packages debianoid", :type => :shell, :inline => packages_debianoid("vagrant")
-    b.vm.provision "build env", :type => :shell, :privileged => false, :inline => build_sys_venv("xenial64")
-    b.vm.provision "install borg", :type => :shell, :privileged => false, :inline => install_borg(true)
-    b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("xenial64")
-  end
-
   config.vm.define "buster64" do |b|
     b.vm.box = "debian/buster64"
     b.vm.provider :virtualbox do |v|
@@ -450,7 +438,7 @@ Vagrant.configure(2) do |config|
 
   # BSD
   config.vm.define "freebsd64" do |b|
-    b.vm.box = "freebsd/FreeBSD-11.4-STABLE"
+    b.vm.box = "freebsd121-64"
     b.vm.provider :virtualbox do |v|
       v.memory = 1024 + $wmem
     end

+ 19 - 20
docs/changes.rst

@@ -217,8 +217,8 @@ The best check that everything is ok is to run a dry-run extraction::
 Changelog
 =========
 
-Version 1.1.16 (not released yet)
----------------------------------
+Version 1.1.16 (2021-03-23)
+---------------------------
 
 Compatibility notes:
 
@@ -252,42 +252,40 @@ Fixes:
 - remove empty shadowed_segments lists, #5275, #5614
 - fix libpython load error when borg fat binary / dir-based binary is invoked
   via a symlink by upgrading pyinstaller to v4.2, #5688
-- config: accept non-int value for max_segment_size or storage_quota, #5639:
-  borg config REPO max_segment_size 500M
-  borg config REPO storage_quota 100G
-  note: when setting a non-int value for this in a repo config,
+- config: accept non-int value (like 500M or 100G) for max_segment_size or
+  storage_quota, #5639.
+  please note: when setting a non-int value for this in a repo config,
   using the repo will require borg >= 1.1.16.
 
 New features:
 
-- test on and support Python 3.10
 - bundled msgpack: drop support for old buffer protocol to support Python 3.10
 - verbose files cache logging via --debug-topic=files_cache, #5659.
   Use this if you suspect that borg does not detect unmodified files as expected.
-- create/extract: add --noxattrs option, #3955.
-  when given with borg create, borg will not get xattrs from input files
-  (and thus, it will not archive xattrs). when given with borg extract,
-  borg will not read xattrs from archive and it will not set xattrs on extracted files.
-- create/extract: add --noacls option, #3955.
-  when given with borg create, borg will not get ACLs from input files
-  (and thus, it will not archive ACLs). when given with borg extract,
-  borg will not read ACLs from archive and it will not set ACLs on extracted files.
+- create/extract: add --noxattrs and --noacls option, #3955.
+  when given with borg create, borg will not get xattrs / ACLs from input files
+  (and thus, it will not archive xattrs / ACLs). when given with borg extract,
+  borg will not read xattrs / ACLs from archive and will not set xattrs / ACLs
+  on extracted files.
+- diff: add --json-lines option, #3765
 - check: debug log segment filename
 - borg debug dump-hints
 
 Other changes:
 
 - Tab completion support for additional archives for 'borg delete'
-- deduplicate code of put and delete, no functional change
+- repository: deduplicate code of put and delete, no functional change
+- tests: fix result order issue (sporadic test failure on openindiana)
 - vagrant:
 
-  - avoid grub-install asking interactively for device
-  - upgrade FreeBSD VM to 11.4 (10.x is out of support)
   - upgrade pyinstaller to v4.2, #5671
+  - avoid grub-install asking interactively for device
+  - remove the xenial box
+  - update freebsd box to 12.1
 - docs:
 
   - update macOS install instructions, #5677
-  - use macFUSE (not osxfuse) for Apple M1 compatibility.
+  - use macFUSE (not osxfuse) for Apple M1 compatibility
   - update docs for dev environment installation instructions, #5643
   - fix grammar in faq
   - recomend running tests only on installed versions for setup
@@ -295,7 +293,8 @@ Other changes:
   - remove /var/cache exclusion in example commands, #5625.
     This is generally a poor idea and shouldn't be promoted through examples.
   - add repology.org badge with current packaging status
-
+  - explain hash collision
+  - add unsafe workaround to use an old repo copy, #5722
 
 Version 1.1.15 (2020-12-25)
 ---------------------------

+ 1 - 1
docs/man/borg-benchmark-crud.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BENCHMARK-CRUD 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-BENCHMARK-CRUD 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
 .

+ 1 - 1
docs/man/borg-benchmark.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BENCHMARK 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-BENCHMARK 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-benchmark \- benchmark command
 .

+ 1 - 1
docs/man/borg-break-lock.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-BREAK-LOCK 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-BREAK-LOCK 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
 .

+ 1 - 1
docs/man/borg-change-passphrase.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CHANGE-PASSPHRASE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-CHANGE-PASSPHRASE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-change-passphrase \- Change repository key file passphrase
 .

+ 1 - 1
docs/man/borg-check.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CHECK 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-CHECK 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-check \- Check repository consistency
 .

+ 1 - 1
docs/man/borg-common.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-COMMON 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-COMMON 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-common \- Common options of Borg commands
 .

+ 1 - 1
docs/man/borg-compression.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-COMPRESSION 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-COMPRESSION 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-compression \- Details regarding compression
 .

+ 1 - 1
docs/man/borg-config.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CONFIG 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-CONFIG 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-config \- get, set, and delete values in a repository or cache config file
 .

+ 7 - 1
docs/man/borg-create.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-CREATE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-CREATE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-create \- Create new archive
 .
@@ -215,6 +215,12 @@ do not store birthtime (creation date) into archive
 .B \-\-nobsdflags
 do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) into archive
 .TP
+.B \-\-noacls
+do not read and store ACLs into archive
+.TP
+.B \-\-noxattrs
+do not read and store xattrs into archive
+.TP
 .B \-\-ignore\-inode
 ignore inode data in the file metadata cache used to detect unchanged files.
 .TP

+ 1 - 1
docs/man/borg-delete.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-DELETE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-DELETE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-delete \- Delete an existing repository or archives
 .

+ 13 - 2
docs/man/borg-diff.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-DIFF 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-DIFF 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-diff \- Diff contents of two archives
 .
@@ -77,6 +77,9 @@ Override check of chunker parameters.
 .TP
 .B \-\-sort
 Sort the output lines by file path.
+.TP
+.B \-\-json\-lines
+Format output as JSON Lines.
 .UNINDENT
 .SS Exclusion options
 .INDENT 0.0
@@ -111,6 +114,7 @@ $ chmod a+x file1
 $ echo "something" >> file2
 $ borg create ../testrepo::archive2 .
 
+$ echo "testing 123" >> file1
 $ rm file3
 $ touch file4
 $ borg create ../testrepo::archive3 .
@@ -121,14 +125,21 @@ $ borg diff testrepo::archive1 archive2
    +135 B    \-252 B file2
 
 $ borg diff testrepo::archive2 archive3
+    +17 B      \-5 B file1
 added           0 B file4
 removed         0 B file3
 
 $ borg diff testrepo::archive1 archive3
-[\-rw\-r\-\-r\-\- \-> \-rwxr\-xr\-x] file1
+    +17 B      \-5 B [\-rw\-r\-\-r\-\- \-> \-rwxr\-xr\-x] file1
    +135 B    \-252 B file2
 added           0 B file4
 removed         0 B file3
+
+$ borg diff \-\-json\-lines testrepo::archive1 archive3
+{"path": "file1", "changes": [{"type": "modified", "added": 17, "removed": 5}, {"type": "mode", "old_mode": "\-rw\-r\-\-r\-\-", "new_mode": "\-rwxr\-xr\-x"}]}
+{"path": "file2", "changes": [{"type": "modified", "added": 135, "removed": 252}]}
+{"path": "file4", "changes": [{"type": "added", "size": 0}]}
+{"path": "file3", "changes": [{"type": "removed", "size": 0}]
 .ft P
 .fi
 .UNINDENT

+ 1 - 1
docs/man/borg-export-tar.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-EXPORT-TAR 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-EXPORT-TAR 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-export-tar \- Export archive contents as a tarball
 .

+ 7 - 1
docs/man/borg-extract.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-EXTRACT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-EXTRACT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-extract \- Extract archive contents
 .
@@ -83,6 +83,12 @@ only obey numeric user and group identifiers
 .B \-\-nobsdflags
 do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
 .TP
+.B \-\-noacls
+do not extract/set ACLs
+.TP
+.B \-\-noxattrs
+do not extract/set xattrs
+.TP
 .B \-\-stdout
 write all extracted data to stdout
 .TP

+ 1 - 1
docs/man/borg-info.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-INFO 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-INFO 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-info \- Show archive details such as disk space used
 .

+ 1 - 1
docs/man/borg-init.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-INIT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-INIT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-init \- Initialize an empty repository
 .

+ 1 - 1
docs/man/borg-key-change-passphrase.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-CHANGE-PASSPHRASE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-KEY-CHANGE-PASSPHRASE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-key-change-passphrase \- Change repository key file passphrase
 .

+ 1 - 1
docs/man/borg-key-export.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-EXPORT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-KEY-EXPORT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-key-export \- Export the repository key for backup
 .

+ 1 - 1
docs/man/borg-key-import.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-IMPORT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-KEY-IMPORT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-key-import \- Import the repository key from backup
 .

+ 1 - 1
docs/man/borg-key-migrate-to-repokey.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY-MIGRATE-TO-REPOKEY 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-KEY-MIGRATE-TO-REPOKEY 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
 .

+ 1 - 1
docs/man/borg-key.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-KEY 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-KEY 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-key \- Manage a keyfile or repokey of a repository
 .

+ 17 - 1
docs/man/borg-list.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-LIST 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-LIST 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-list \- List archive or repository contents
 .
@@ -231,6 +231,10 @@ isoctime
 .IP \(bu 2
 isoatime
 .IP \(bu 2
+blake2b
+.IP \(bu 2
+blake2s
+.IP \(bu 2
 md5
 .IP \(bu 2
 sha1
@@ -241,8 +245,20 @@ sha256
 .IP \(bu 2
 sha384
 .IP \(bu 2
+sha3_224
+.IP \(bu 2
+sha3_256
+.IP \(bu 2
+sha3_384
+.IP \(bu 2
+sha3_512
+.IP \(bu 2
 sha512
 .IP \(bu 2
+shake_128
+.IP \(bu 2
+shake_256
+.IP \(bu 2
 archiveid
 .IP \(bu 2
 archivename

+ 1 - 1
docs/man/borg-mount.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-MOUNT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-MOUNT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-mount \- Mount archive or an entire repository as a FUSE filesystem
 .

+ 3 - 3
docs/man/borg-patterns.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PATTERNS 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-PATTERNS 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-patterns \- Details regarding patterns
 .
@@ -126,14 +126,14 @@ wildcards at most.
 .UNINDENT
 .sp
 Exclusions can be passed via the command line option \fB\-\-exclude\fP\&. When used
-from within a shell the patterns should be quoted to protect them from
+from within a shell, the patterns should be quoted to protect them from
 expansion.
 .sp
 The \fB\-\-exclude\-from\fP option permits loading exclusion patterns from a text
 file with one pattern per line. Lines empty or starting with the number sign
 (\(aq#\(aq) after removing whitespace on both ends are ignored. The optional style
 selector prefix is also supported for patterns loaded from a file. Due to
-whitespace removal paths with whitespace at the beginning or end can only be
+whitespace removal, paths with whitespace at the beginning or end can only be
 excluded using regular expressions.
 .sp
 To test your exclusion patterns without performing an actual backup you can

+ 1 - 1
docs/man/borg-placeholders.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PLACEHOLDERS 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-PLACEHOLDERS 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-placeholders \- Details regarding placeholders
 .

+ 1 - 1
docs/man/borg-prune.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-PRUNE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-PRUNE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-prune \- Prune repository archives according to specified rules
 .

+ 1 - 1
docs/man/borg-recreate.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-RECREATE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-RECREATE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-recreate \- Re-create archives
 .

+ 1 - 1
docs/man/borg-rename.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-RENAME 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-RENAME 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-rename \- Rename an existing archive
 .

+ 1 - 1
docs/man/borg-serve.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-SERVE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-SERVE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-serve \- Start in server mode. This command is usually not used manually.
 .

+ 1 - 1
docs/man/borg-umount.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-UMOUNT 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-UMOUNT 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-umount \- un-mount the FUSE filesystem
 .

+ 1 - 1
docs/man/borg-upgrade.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-UPGRADE 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-UPGRADE 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-upgrade \- upgrade a repository from a previous version
 .

+ 1 - 1
docs/man/borg-with-lock.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORG-WITH-LOCK 1 "2020-12-24" "" "borg backup tool"
+.TH BORG-WITH-LOCK 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borg-with-lock \- run a user specified command with the repository lock held
 .

+ 1 - 1
docs/man/borgfs.1

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH BORGFS 1 "2020-12-24" "" "borg backup tool"
+.TH BORGFS 1 "2021-03-22" "" "borg backup tool"
 .SH NAME
 borgfs \- Mount archive or an entire repository as a FUSE filesystem
 .

+ 6 - 0
docs/usage/create.rst.inc

@@ -79,6 +79,10 @@ borg create
     +-------------------------------------------------------+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
     |                                                       | ``--nobsdflags``                                  | do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) into archive                                                                                 |
     +-------------------------------------------------------+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+    |                                                       | ``--noacls``                                      | do not read and store ACLs into archive                                                                                                              |
+    +-------------------------------------------------------+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+    |                                                       | ``--noxattrs``                                    | do not read and store xattrs into archive                                                                                                            |
+    +-------------------------------------------------------+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
     |                                                       | ``--ignore-inode``                                | ignore inode data in the file metadata cache used to detect unchanged files.                                                                         |
     +-------------------------------------------------------+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
     |                                                       | ``--files-cache MODE``                            | operate files cache in MODE. default: ctime,size,inode                                                                                               |
@@ -149,6 +153,8 @@ borg create
         --noctime                 do not store ctime into archive
         --nobirthtime             do not store birthtime (creation date) into archive
         --nobsdflags              do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) into archive
+        --noacls                  do not read and store ACLs into archive
+        --noxattrs                do not read and store xattrs into archive
         --ignore-inode            ignore inode data in the file metadata cache used to detect unchanged files.
         --files-cache MODE        operate files cache in MODE. default: ctime,size,inode
         --read-special            open and read block and char device files as well as FIFOs as if they were regular files. Also follows symlinks pointing to these kinds of files.

+ 3 - 0
docs/usage/diff.rst.inc

@@ -29,6 +29,8 @@ borg diff
     +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
     |                                                       | ``--sort``                            | Sort the output lines by file path.                                        |
     +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
+    |                                                       | ``--json-lines``                      | Format output as JSON Lines.                                               |
+    +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
     | .. class:: borg-common-opt-ref                                                                                                                                             |
     |                                                                                                                                                                            |
     | :ref:`common_options`                                                                                                                                                      |
@@ -66,6 +68,7 @@ borg diff
         --numeric-owner    only consider numeric user and group identifiers
         --same-chunker-params    Override check of chunker parameters.
         --sort     Sort the output lines by file path.
+        --json-lines    Format output as JSON Lines. 
 
 
     :ref:`common_options`

+ 6 - 0
docs/usage/extract.rst.inc

@@ -29,6 +29,10 @@ borg extract
     +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
     |                                                       | ``--nobsdflags``                      | do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)                                                      |
     +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
+    |                                                       | ``--noacls``                          | do not extract/set ACLs                                                                                   |
+    +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
+    |                                                       | ``--noxattrs``                        | do not extract/set xattrs                                                                                 |
+    +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
     |                                                       | ``--stdout``                          | write all extracted data to stdout                                                                        |
     +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
     |                                                       | ``--sparse``                          | create holes in output sparse file from all-zero chunks                                                   |
@@ -71,6 +75,8 @@ borg extract
         -n, --dry-run     do not actually change any files
         --numeric-owner    only obey numeric user and group identifiers
         --nobsdflags      do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
+        --noacls          do not extract/set ACLs
+        --noxattrs        do not extract/set xattrs
         --stdout          write all extracted data to stdout
         --sparse          create holes in output sparse file from all-zero chunks
 

+ 2 - 2
docs/usage/help.rst.inc

@@ -95,14 +95,14 @@ Path full-match, selector `pf:`
     wildcards at most.
 
 Exclusions can be passed via the command line option ``--exclude``. When used
-from within a shell the patterns should be quoted to protect them from
+from within a shell, the patterns should be quoted to protect them from
 expansion.
 
 The ``--exclude-from`` option permits loading exclusion patterns from a text
 file with one pattern per line. Lines empty or starting with the number sign
 ('#') after removing whitespace on both ends are ignored. The optional style
 selector prefix is also supported for patterns loaded from a file. Due to
-whitespace removal paths with whitespace at the beginning or end can only be
+whitespace removal, paths with whitespace at the beginning or end can only be
 excluded using regular expressions.
 
 To test your exclusion patterns without performing an actual backup you can

+ 8 - 0
docs/usage/list.rst.inc

@@ -161,12 +161,20 @@ Keys for listing archive files:
 - isoctime
 - isoatime
 
+- blake2b
+- blake2s
 - md5
 - sha1
 - sha224
 - sha256
 - sha384
+- sha3_224
+- sha3_256
+- sha3_384
+- sha3_512
 - sha512
+- shake_128
+- shake_256
 
 - archiveid
 - archivename

+ 0 - 1
setup.py

@@ -875,7 +875,6 @@ setup(
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
-        'Programming Language :: Python :: 3.10',
         'Topic :: Security :: Cryptography',
         'Topic :: System :: Archiving :: Backup',
     ],

+ 1 - 1
src/borg/testsuite/archiver.py

@@ -464,7 +464,7 @@ class ArchiverTestCase(ArchiverTestCaseBase):
         archive_list = self.cmd('list', '--json-lines', self.repository_location + '::test')
         paths = [json.loads(line)['path'] for line in archive_list.split('\n') if line]
         # we have all fs items exactly once!
-        assert paths == ['input', 'input/a', 'input/a/hardlink', 'input/b', 'input/b/hardlink']
+        assert sorted(paths) == ['input', 'input/a', 'input/a/hardlink', 'input/b', 'input/b/hardlink']
 
     def test_init_parent_dirs(self):
         parent_path = os.path.join(self.tmpdir, 'parent1', 'parent2')