mirror of
https://github.com/borgbackup/borg.git
synced 2026-02-03 20:40:16 -05:00
use borg diff --sort-by=spec1,spec2,spec2 for enhanced sorting. keep legacy --sort behaviour (sort by path) for compatibility, but deprecate it. Co-authored-by: Daniel Rudolf <github.com@daniel-rudolf.de>
52 lines
1.7 KiB
ReStructuredText
52 lines
1.7 KiB
ReStructuredText
.. include:: diff.rst.inc
|
|
|
|
Examples
|
|
~~~~~~~~
|
|
::
|
|
|
|
$ borg init -e=none testrepo
|
|
$ mkdir testdir
|
|
$ cd testdir
|
|
$ echo asdf > file1
|
|
$ dd if=/dev/urandom bs=1M count=4 > file2
|
|
$ touch file3
|
|
$ borg create ../testrepo::archive1 .
|
|
|
|
$ chmod a+x file1
|
|
$ echo "something" >> file2
|
|
$ borg create ../testrepo::archive2 .
|
|
|
|
$ echo "testing 123" >> file1
|
|
$ rm file3
|
|
$ touch file4
|
|
$ borg create ../testrepo::archive3 .
|
|
|
|
$ cd ..
|
|
$ borg diff testrepo::archive1 archive2
|
|
[-rw-r--r-- -> -rwxr-xr-x] file1
|
|
+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
|
|
+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}]}
|
|
|
|
# Use --sort-by with a comma-separated list; sorts apply stably from last to first.
|
|
# Here: primary by net size change descending, tie-breaker by path ascending
|
|
$ borg diff --sort-by=">size_diff,path" testrepo::archive1 archive3
|
|
+17 B -5 B [-rw-r--r-- -> -rwxr-xr-x] file1
|
|
removed 0 B file3
|
|
added 0 B file4
|
|
+135 B -252 B file2
|