Sfoglia il codice sorgente

Merge pull request #5718 from ThomasWaldmann/rel1116

release 1.1.16
TW 4 anni fa
parent
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")
     b.vm.provision "run tests", :type => :shell, :privileged => false, :inline => run_tests("bionic64")
   end
   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|
   config.vm.define "buster64" do |b|
     b.vm.box = "debian/buster64"
     b.vm.box = "debian/buster64"
     b.vm.provider :virtualbox do |v|
     b.vm.provider :virtualbox do |v|
@@ -450,7 +438,7 @@ Vagrant.configure(2) do |config|
 
 
   # BSD
   # BSD
   config.vm.define "freebsd64" do |b|
   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|
     b.vm.provider :virtualbox do |v|
       v.memory = 1024 + $wmem
       v.memory = 1024 + $wmem
     end
     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
 Changelog
 =========
 =========
 
 
-Version 1.1.16 (not released yet)
----------------------------------
+Version 1.1.16 (2021-03-23)
+---------------------------
 
 
 Compatibility notes:
 Compatibility notes:
 
 
@@ -252,42 +252,40 @@ Fixes:
 - remove empty shadowed_segments lists, #5275, #5614
 - remove empty shadowed_segments lists, #5275, #5614
 - fix libpython load error when borg fat binary / dir-based binary is invoked
 - fix libpython load error when borg fat binary / dir-based binary is invoked
   via a symlink by upgrading pyinstaller to v4.2, #5688
   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.
   using the repo will require borg >= 1.1.16.
 
 
 New features:
 New features:
 
 
-- test on and support Python 3.10
 - bundled msgpack: drop support for old buffer protocol to 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.
 - verbose files cache logging via --debug-topic=files_cache, #5659.
   Use this if you suspect that borg does not detect unmodified files as expected.
   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
 - check: debug log segment filename
 - borg debug dump-hints
 - borg debug dump-hints
 
 
 Other changes:
 Other changes:
 
 
 - Tab completion support for additional archives for 'borg delete'
 - 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:
 - 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
   - upgrade pyinstaller to v4.2, #5671
+  - avoid grub-install asking interactively for device
+  - remove the xenial box
+  - update freebsd box to 12.1
 - docs:
 - docs:
 
 
   - update macOS install instructions, #5677
   - 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
   - update docs for dev environment installation instructions, #5643
   - fix grammar in faq
   - fix grammar in faq
   - recomend running tests only on installed versions for setup
   - recomend running tests only on installed versions for setup
@@ -295,7 +293,8 @@ Other changes:
   - remove /var/cache exclusion in example commands, #5625.
   - remove /var/cache exclusion in example commands, #5625.
     This is generally a poor idea and shouldn't be promoted through examples.
     This is generally a poor idea and shouldn't be promoted through examples.
   - add repology.org badge with current packaging status
   - 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)
 Version 1.1.15 (2020-12-25)
 ---------------------------
 ---------------------------

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
 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.
 .\" 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
 .SH NAME
 borg-benchmark \- benchmark command
 borg-benchmark \- benchmark command
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
 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.
 .\" 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
 .SH NAME
 borg-change-passphrase \- Change repository key file passphrase
 borg-change-passphrase \- Change repository key file passphrase
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-check \- Check repository consistency
 borg-check \- Check repository consistency
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-common \- Common options of Borg commands
 borg-common \- Common options of Borg commands
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-compression \- Details regarding compression
 borg-compression \- Details regarding compression
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-config \- get, set, and delete values in a repository or cache config file
 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.
 .\" 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
 .SH NAME
 borg-create \- Create new archive
 borg-create \- Create new archive
 .
 .
@@ -215,6 +215,12 @@ do not store birthtime (creation date) into archive
 .B \-\-nobsdflags
 .B \-\-nobsdflags
 do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) into archive
 do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) into archive
 .TP
 .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
 .B \-\-ignore\-inode
 ignore inode data in the file metadata cache used to detect unchanged files.
 ignore inode data in the file metadata cache used to detect unchanged files.
 .TP
 .TP

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-delete \- Delete an existing repository or archives
 borg-delete \- Delete an existing repository or archives
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-diff \- Diff contents of two archives
 borg-diff \- Diff contents of two archives
 .
 .
@@ -77,6 +77,9 @@ Override check of chunker parameters.
 .TP
 .TP
 .B \-\-sort
 .B \-\-sort
 Sort the output lines by file path.
 Sort the output lines by file path.
+.TP
+.B \-\-json\-lines
+Format output as JSON Lines.
 .UNINDENT
 .UNINDENT
 .SS Exclusion options
 .SS Exclusion options
 .INDENT 0.0
 .INDENT 0.0
@@ -111,6 +114,7 @@ $ chmod a+x file1
 $ echo "something" >> file2
 $ echo "something" >> file2
 $ borg create ../testrepo::archive2 .
 $ borg create ../testrepo::archive2 .
 
 
+$ echo "testing 123" >> file1
 $ rm file3
 $ rm file3
 $ touch file4
 $ touch file4
 $ borg create ../testrepo::archive3 .
 $ borg create ../testrepo::archive3 .
@@ -121,14 +125,21 @@ $ borg diff testrepo::archive1 archive2
    +135 B    \-252 B file2
    +135 B    \-252 B file2
 
 
 $ borg diff testrepo::archive2 archive3
 $ borg diff testrepo::archive2 archive3
+    +17 B      \-5 B file1
 added           0 B file4
 added           0 B file4
 removed         0 B file3
 removed         0 B file3
 
 
 $ borg diff testrepo::archive1 archive3
 $ 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
    +135 B    \-252 B file2
 added           0 B file4
 added           0 B file4
 removed         0 B file3
 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
 .ft P
 .fi
 .fi
 .UNINDENT
 .UNINDENT

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-export-tar \- Export archive contents as a tarball
 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.
 .\" 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
 .SH NAME
 borg-extract \- Extract archive contents
 borg-extract \- Extract archive contents
 .
 .
@@ -83,6 +83,12 @@ only obey numeric user and group identifiers
 .B \-\-nobsdflags
 .B \-\-nobsdflags
 do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
 do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
 .TP
 .TP
+.B \-\-noacls
+do not extract/set ACLs
+.TP
+.B \-\-noxattrs
+do not extract/set xattrs
+.TP
 .B \-\-stdout
 .B \-\-stdout
 write all extracted data to stdout
 write all extracted data to stdout
 .TP
 .TP

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-info \- Show archive details such as disk space used
 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.
 .\" 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
 .SH NAME
 borg-init \- Initialize an empty repository
 borg-init \- Initialize an empty repository
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-key-change-passphrase \- Change repository key file passphrase
 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.
 .\" 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
 .SH NAME
 borg-key-export \- Export the repository key for backup
 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.
 .\" 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
 .SH NAME
 borg-key-import \- Import the repository key from backup
 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.
 .\" 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
 .SH NAME
 borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
 borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-key \- Manage a keyfile or repokey of a repository
 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.
 .\" 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
 .SH NAME
 borg-list \- List archive or repository contents
 borg-list \- List archive or repository contents
 .
 .
@@ -231,6 +231,10 @@ isoctime
 .IP \(bu 2
 .IP \(bu 2
 isoatime
 isoatime
 .IP \(bu 2
 .IP \(bu 2
+blake2b
+.IP \(bu 2
+blake2s
+.IP \(bu 2
 md5
 md5
 .IP \(bu 2
 .IP \(bu 2
 sha1
 sha1
@@ -241,8 +245,20 @@ sha256
 .IP \(bu 2
 .IP \(bu 2
 sha384
 sha384
 .IP \(bu 2
 .IP \(bu 2
+sha3_224
+.IP \(bu 2
+sha3_256
+.IP \(bu 2
+sha3_384
+.IP \(bu 2
+sha3_512
+.IP \(bu 2
 sha512
 sha512
 .IP \(bu 2
 .IP \(bu 2
+shake_128
+.IP \(bu 2
+shake_256
+.IP \(bu 2
 archiveid
 archiveid
 .IP \(bu 2
 .IP \(bu 2
 archivename
 archivename

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-mount \- Mount archive or an entire repository as a FUSE filesystem
 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.
 .\" 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
 .SH NAME
 borg-patterns \- Details regarding patterns
 borg-patterns \- Details regarding patterns
 .
 .
@@ -126,14 +126,14 @@ wildcards at most.
 .UNINDENT
 .UNINDENT
 .sp
 .sp
 Exclusions can be passed via the command line option \fB\-\-exclude\fP\&. When used
 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.
 expansion.
 .sp
 .sp
 The \fB\-\-exclude\-from\fP option permits loading exclusion patterns from a text
 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
 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
 (\(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
 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.
 excluded using regular expressions.
 .sp
 .sp
 To test your exclusion patterns without performing an actual backup you can
 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.
 .\" 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
 .SH NAME
 borg-placeholders \- Details regarding placeholders
 borg-placeholders \- Details regarding placeholders
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-prune \- Prune repository archives according to specified rules
 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.
 .\" 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
 .SH NAME
 borg-recreate \- Re-create archives
 borg-recreate \- Re-create archives
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-rename \- Rename an existing archive
 borg-rename \- Rename an existing archive
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-serve \- Start in server mode. This command is usually not used manually.
 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.
 .\" 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
 .SH NAME
 borg-umount \- un-mount the FUSE filesystem
 borg-umount \- un-mount the FUSE filesystem
 .
 .

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

@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .\" 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
 .SH NAME
 borg-upgrade \- upgrade a repository from a previous version
 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.
 .\" 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
 .SH NAME
 borg-with-lock \- run a user specified command with the repository lock held
 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.
 .\" 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
 .SH NAME
 borgfs \- Mount archive or an entire repository as a FUSE filesystem
 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                                                                                 |
     |                                                       | ``--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.                                                                         |
     |                                                       | ``--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                                                                                               |
     |                                                       | ``--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
         --noctime                 do not store ctime into archive
         --nobirthtime             do not store birthtime (creation date) into archive
         --nobirthtime             do not store birthtime (creation date) into archive
         --nobsdflags              do not read and store bsdflags (e.g. NODUMP, IMMUTABLE) 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.
         --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
         --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.
         --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.                                        |
     |                                                       | ``--sort``                            | Sort the output lines by file path.                                        |
     +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
     +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
+    |                                                       | ``--json-lines``                      | Format output as JSON Lines.                                               |
+    +-------------------------------------------------------+---------------------------------------+----------------------------------------------------------------------------+
     | .. class:: borg-common-opt-ref                                                                                                                                             |
     | .. class:: borg-common-opt-ref                                                                                                                                             |
     |                                                                                                                                                                            |
     |                                                                                                                                                                            |
     | :ref:`common_options`                                                                                                                                                      |
     | :ref:`common_options`                                                                                                                                                      |
@@ -66,6 +68,7 @@ borg diff
         --numeric-owner    only consider numeric user and group identifiers
         --numeric-owner    only consider numeric user and group identifiers
         --same-chunker-params    Override check of chunker parameters.
         --same-chunker-params    Override check of chunker parameters.
         --sort     Sort the output lines by file path.
         --sort     Sort the output lines by file path.
+        --json-lines    Format output as JSON Lines. 
 
 
 
 
     :ref:`common_options`
     :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)                                                      |
     |                                                       | ``--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                                                                        |
     |                                                       | ``--stdout``                          | write all extracted data to stdout                                                                        |
     +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
     +-------------------------------------------------------+---------------------------------------+-----------------------------------------------------------------------------------------------------------+
     |                                                       | ``--sparse``                          | create holes in output sparse file from all-zero chunks                                                   |
     |                                                       | ``--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
         -n, --dry-run     do not actually change any files
         --numeric-owner    only obey numeric user and group identifiers
         --numeric-owner    only obey numeric user and group identifiers
         --nobsdflags      do not extract/set bsdflags (e.g. NODUMP, IMMUTABLE)
         --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
         --stdout          write all extracted data to stdout
         --sparse          create holes in output sparse file from all-zero chunks
         --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.
     wildcards at most.
 
 
 Exclusions can be passed via the command line option ``--exclude``. When used
 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.
 expansion.
 
 
 The ``--exclude-from`` option permits loading exclusion patterns from a text
 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
 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
 ('#') after removing whitespace on both ends are ignored. The optional style
 selector prefix is also supported for patterns loaded from a file. Due to
 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.
 excluded using regular expressions.
 
 
 To test your exclusion patterns without performing an actual backup you can
 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
 - isoctime
 - isoatime
 - isoatime
 
 
+- blake2b
+- blake2s
 - md5
 - md5
 - sha1
 - sha1
 - sha224
 - sha224
 - sha256
 - sha256
 - sha384
 - sha384
+- sha3_224
+- sha3_256
+- sha3_384
+- sha3_512
 - sha512
 - sha512
+- shake_128
+- shake_256
 
 
 - archiveid
 - archiveid
 - archivename
 - archivename

+ 0 - 1
setup.py

@@ -875,7 +875,6 @@ setup(
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.9',
-        'Programming Language :: Python :: 3.10',
         'Topic :: Security :: Cryptography',
         'Topic :: Security :: Cryptography',
         'Topic :: System :: Archiving :: Backup',
         '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')
         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]
         paths = [json.loads(line)['path'] for line in archive_list.split('\n') if line]
         # we have all fs items exactly once!
         # 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):
     def test_init_parent_dirs(self):
         parent_path = os.path.join(self.tmpdir, 'parent1', 'parent2')
         parent_path = os.path.join(self.tmpdir, 'parent1', 'parent2')