I reviewed this by generating 100 random files via the following command: seq -w 1 100 | xargs -n1 -I% sh -c 'dd if=/dev/urandom of=file.% bs=$(shuf -i1-10 -n1) count=1024' Then I created a backup from those files, recreated the files with the above command and created a second backup. Additionally I created a 3rd backup where I: * changed uid & gid of 10 files * changed permissions of 10 files * deleted 10 files * created 10 new files * moved some of the files into a new subdirectory * touched 10 files All changes between 1 ->2 and 2 -> 3 and 1 -> 3 were picked up by the diff tool as far as I could tell. Some files where the content has changed but everything else stayed the same (except for mtime), were not marked as changed without the flag --compare-content. Maybe we should not mark any files as changed without the --compare-content flag or we should mark all files as changed where any attribute changed? With --compare-content the changes were picked up, which is what this flag is for, so I think it's OK. Code LGTM! Reviewed-by: Stefan Hanreich Tested-by: Stefan Hanreich On 11/29/22 15:17, Lukas Wagner wrote: > This patch series contains a few improvements for the `diff archive` tool, > mainly based on Wolfgang's suggestions. > > First, the output of is now much more detailed and shows > some relevant file attributes, including what has changed between > snapshots. Changed attributes are highlighted by a "*". > > For instance: > > $ proxmox-backup-debug diff archive ... > A f 644 10045 10000 0 B 2022-11-28 13:44:51 add.txt > M f 644 10045 10000 6 B *2022-11-28 13:45:05 content.txt > D f 644 10045 10000 0 B 2022-11-28 13:17:09 deleted.txt > M f 644 10045 *29 0 B 2022-11-28 13:16:20 gid.txt > M f *777 10045 10000 0 B 2022-11-28 13:42:47 mode.txt > M f 644 10045 10000 0 B *2022-11-28 13:44:33 mtime.txt > M f 644 10045 10000 *7 B *2022-11-28 13:44:59 *size.txt > M f 644 *64045 10000 0 B 2022-11-28 13:16:18 uid.txt > M *f 644 10045 10000 10 B 2022-11-28 13:44:59 type.txt > > The second commit introduces the possiblity to pass > the --compare-content flag to the tool. If the flag is passed, > the tool will compare the file content instead of relying on mtime > alone to detect modifications. > > Lukas Wagner (2): > debug cli: show more file attributes for `diff archive` command > debug cli: add 'compare-content' flag to `diff archive` command > > src/bin/proxmox_backup_debug/diff.rs | 356 ++++++++++++++++++++++----- > 1 file changed, 299 insertions(+), 57 deletions(-) >