Mercurial > hgrepos > Python > apps > py-cutils
changeset 338:e163e6754071
treesum: when printing an empty size on purpose do not provide an empty octet string but use -1 as size argument
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 31 Mar 2025 14:09:56 +0200 |
| parents | e89eb63fc319 |
| children | 9c7a03199092 |
| files | cutils/treesum.py |
| diffstat | 1 files changed, 31 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/cutils/treesum.py Mon Mar 31 13:38:57 2025 +0200 +++ b/cutils/treesum.py Mon Mar 31 14:09:56 2025 +0200 @@ -695,9 +695,9 @@ len(self._algorithm[1]), util.b(self._algorithm[1]), len(linkdgst.digest()), linkdgst.digest())) if self._size_only: - self._writer.write_size(b"./@/", "") + self._writer.write_size(b"./@/", -1) else: - sz = "" if self._print_size else None + sz = -1 if self._print_size else None self._writer.write_file_digest( self._algorithm[1], b"./@/", @@ -824,7 +824,7 @@ b"No size in treesum-file `%s'", fpath), "utf-8")) - sz = "" + sz = -1 else: sz = collector.size else: @@ -963,9 +963,9 @@ self._writer.write_size( util.interpolate_bytes( b"%s/./@%s", opath, special_tag), - "") + -1) else: - sz = "" if self._print_size else None + sz = -1 if self._print_size else None self._writer.write_file_digest( self._algorithm[1], util.interpolate_bytes( @@ -1003,9 +1003,9 @@ self._writer.write_size( util.interpolate_bytes( b"%s/./%s", opath, special_tag), - "") + -1) else: - sz = "" if self._print_size else None + sz = -1 if self._print_size else None self._writer.write_file_digest( self._algorithm[1], util.interpolate_bytes( @@ -1045,9 +1045,9 @@ if self._size_only: self._writer.write_size( util.interpolate_bytes(b"%s/./@/", opath), - "") + -1) else: - sz = "" if self._print_size else None + sz = -1 if self._print_size else None self._writer.write_file_digest( self._algorithm[1], util.interpolate_bytes(b"%s/./@/", opath), @@ -1138,9 +1138,9 @@ if self._size_only: self._writer.write_size( util.interpolate_bytes(b"%s/./@", opath), - "") + -1) else: - sz = "" if self._print_size else None + sz = -1 if self._print_size else None self._writer.write_file_digest( self._algorithm[1], util.interpolate_bytes(b"%s/./@", opath), @@ -1341,6 +1341,9 @@ If `sz` is `None` then this is signals an error because a size is required. + If the size should not be printed on purpose the `size` should be + as negative number. + """ raise NotImplementedError("write_size") @@ -1350,6 +1353,11 @@ If `size` is `None` and the output of a size is required then this is an error signal. + If the size should not be printed on purpose the `size` should be + as negative number. + + If `digest` is `None` is an error signal. + """ raise NotImplementedError("write_file_digest") @@ -1467,7 +1475,7 @@ self.write(b")") if sz is not None: self.write(b" = ") - self.write(util.b(str(sz))) + self.write(b"" if sz < 0 else util.b(str(sz))) self.writeln(b"") def write_accept_treesum_file(self, filename): @@ -1492,7 +1500,7 @@ self.write(digest) if size is not None: self.write(b",") - self.write(util.b(str(size))) + self.write(b"" if size < 0 else util.b(str(size))) self.writeln(b"") def finish(self): @@ -1575,7 +1583,10 @@ def write_size(self, filename, sz): assert isinstance(filename, bytes) if sz is not None: - self.write(util.b(str(sz))) + if sz >= 0: + self.write(util.b(str(sz))) + else: + self.write(b"?????") self.write(b"\t") self.writeln(filename) @@ -1594,9 +1605,14 @@ self.write(b":") if digest is not None: self.write(digest) + else: + self.write(b"?????") self.write(b"\t") if size is not None: - self.write(util.b(str(size))) + if size >= 0: + self.write(util.b(str(size))) + else: + self.write(b"?????") self.write(b"\t") self.writeln(filename)
