<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I reviewed this by generating 100 random files via the following
      command:</p>
    <p><font face="monospace">seq -w 1 100 | xargs -n1 -I% sh -c 'dd
        if=/dev/urandom of=file.% bs=$(shuf -i1-10 -n1) count=1024'</font><br>
      <br>
      Then I created a backup from those files, recreated the files with
      the above command and created a second backup.<br>
    </p>
    <p>Additionally I created a 3rd backup where I:</p>
    <ul>
      <li>changed uid & gid of 10 files<br>
      </li>
      <li>changed permissions of 10 files<br>
      </li>
      <li>deleted 10 files</li>
      <li>created 10 new files</li>
      <li>moved some of the files into a new subdirectory</li>
      <li>touched 10 files</li>
    </ul>
    <p>All changes between 1 ->2 and 2 -> 3 and 1 -> 3 were
      picked up by the diff tool as far as I could tell.</p>
    <p>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?<br>
    </p>
    <p>With --compare-content the changes were picked up, which is what
      this flag is for, so I think it's OK.</p>
    <p><br>
    </p>
    <p>Code LGTM!</p>
    <p><br>
    </p>
    <p>Reviewed-by: Stefan Hanreich <a class="moz-txt-link-rfc2396E" href="mailto:s.hanreich@proxmox.com"><s.hanreich@proxmox.com></a><br>
      Tested-by: Stefan Hanreich <a class="moz-txt-link-rfc2396E" href="mailto:s.hanreich@proxmox.com"><s.hanreich@proxmox.com></a><br>
    </p>
    <div class="moz-cite-prefix">On 11/29/22 15:17, Lukas Wagner wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20221129141730.740199-1-l.wagner@proxmox.com">
      <pre class="moz-quote-pre" wrap="">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(-)

</pre>
    </blockquote>
  </body>
</html>