# HG changeset patch # User Franz Glasner # Date 1741597442 -3600 # Node ID dbad01eb9d0339c487c6b6418cdfe56a86c92f8f # Parent f5f54b9c3552dc567d36d0f3c4cca6ed80fc6191 treesum: comments diff -r f5f54b9c3552 -r dbad01eb9d03 cutils/treesum.py --- a/cutils/treesum.py Mon Mar 10 01:57:25 2025 +0100 +++ b/cutils/treesum.py Mon Mar 10 10:04:02 2025 +0100 @@ -747,9 +747,18 @@ else: opath = walk.WalkDirEntry.alt_fs(opath) if eno == 0: + # + # treesum file could be read. + # Now check whether the infos we got from it are + # compatible with our current requirements + # (digest, size). + # if self._size_only: if collector.size is None: - # This is a severe error here + # + # This is a severe error here: just the size + # is required, but we have not got one. + # self._writer.write_error(util.b( util.interpolate_bytes( "No size in treesum-file `%s' while" @@ -776,7 +785,11 @@ else: sz = None if collector.digest is None: - # This is really a severe error + # + # This is really a severe error. Most probably + # the treesum file was created with + # "--size-only" and contains no digest. + # self._writer.write_error(util.b( util.interpolate_bytes( "No digest in treesum-file `%s' while" @@ -790,6 +803,7 @@ use_base64=self._use_base64, size=sz) return (errno.ESRCH, None, None, None) + # We got all required infos without errors if self._size_only: self._writer.write_size(opath, collector.size) else: @@ -801,6 +815,9 @@ collector.digest, collector.size) else: + # + # treesum file could not be read + # self._writer.write_error(util.interpolate_bytes( "Cannot read treesum-file `%s' for directory" "`%s': %s", @@ -814,6 +831,9 @@ self._algorithm[1], opath, None, use_base64=self._use_base64, size=None) return (eno, None, None, None) + # + # No treesum file: just process normally with digesting + # if self._utf8_mode: fsobjects.sort(key=walk.WalkDirEntry.sort_key_u8) else: