Provided by: borgbackup2_2.0.0b19.post2-3_amd64 

Name
borg-diff - Diff contents of two archives
SYNOPSIS
borg [common options] diff [options] ARCHIVE1 ARCHIVE2 [PATH...]
DESCRIPTION
This command finds differences (file contents, metadata) between ARCHIVE1 and ARCHIVE2.
For more help on include/exclude patterns, see the borg_patterns command output.
OPTIONS
See borg-common(1) for common options of Borg commands.
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
EXAMPLES
$ 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}]}
NOTES
The FORMAT specifier syntax
The --format option uses python's format string syntax <https://docs.python.org/3.9/library/string.html#
formatstrings>.
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:
• NEWLINE: OS dependent line separator
• NL: alias of NEWLINE
• NUL: NUL character for creating print0 / xargs -0 like output
• SPACE: space character
• TAB: tab character
• CR: carriage return character
• LF: line feed character
Keys available only when showing differences between archives:
• path: archived file path
• change: all available changes
• content: file content change
• mode: file mode change
• type: file type change
• owner: file owner (user/group) change
• group: file group change
• user: file user change
• link: file link change
• directory: file directory change
• blkdev: file block device change
• chrdev: file character device change
• fifo: file fifo change
• mtime: file modification time change
• ctime: file change time change
• isomtime: file modification time change (ISO 8601)
• isoctime: file creation time change (ISO 8601)
SEE ALSO
borg-common(1)
Author
The Borg Collective
2025-11-25 borg-diff(1)