borg [common options] diff [options] ARCHIVE1 ARCHIVE2 [PATH...]
positional arguments | ||
ARCHIVE1 |
ARCHIVE1 name | |
ARCHIVE2 |
ARCHIVE2 name | |
PATH |
paths of items inside the archives to compare; patterns are supported | |
options | ||
--numeric-ids |
only consider numeric user and group identifiers | |
--same-chunker-params |
Override check of chunker parameters. | |
--sort |
Sort the output lines by file path. | |
--format FORMAT |
specify format for differences between archives (default: “{change} {path}{NL}”) | |
--json-lines |
Format output as JSON Lines. | |
--content-only |
Only compare differences in content (exclude metadata differences) | |
Include/Exclude options | ||
-e PATTERN , --exclude PATTERN |
exclude paths matching PATTERN | |
--exclude-from EXCLUDEFILE |
read exclude patterns from EXCLUDEFILE, one per line | |
--pattern PATTERN |
include/exclude paths matching PATTERN | |
--patterns-from PATTERNFILE |
read include/exclude patterns from PATTERNFILE, one per line |
This command finds differences (file contents, metadata) between ARCHIVE1 and ARCHIVE2.
For more help on include/exclude patterns, see the borg help patterns command output.
The --format
option uses python’s format string syntax.
Examples:
$ borg diff --format '{content:30} {path}{NL}' ArchiveFoo ArchiveBar
modified: +4.1 kB -1.0 kB file-diff
...
# {VAR:<NUMBER} - pad to NUMBER columns left-aligned.
# {VAR:>NUMBER} - pad to NUMBER columns right-aligned.
$ borg diff --format '{content:>30} {path}{NL}' ArchiveFoo ArchiveBar
modified: +4.1 kB -1.0 kB file-diff
...
The following keys are always available:
Keys available only when showing differences between archives:
$ borg diff archive1 archive2
+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 archive1 archive2
{"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}]}