annotate docs/notes.rst @ 270:42f4ca423ab3

treesum: REFACTOR: Major refactoring of computing digests: - Digests that are created by reading symlink targets are created as if the result of readllink() is the content of a regulare file: no special tagging is done now. - All digest values have their canonical algorithm name prepended. - Normalize the order of computation
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 18 Feb 2025 16:07:28 +0100
parents d7be68a8937d
children c02a57df2a29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
212
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
1 .. -*- coding: utf-8; indent-tabs-mode: nil; -*-
194
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 In a aggregated directory checksum at the end of a block:
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 A path equals
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 ``./@/``
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 Symlink to directory
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11 ``./@``
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12
270
42f4ca423ab3 treesum: REFACTOR: Major refactoring of computing digests:
Franz Glasner <fzglas.hg@dom66.de>
parents: 222
diff changeset
13 Symlink to other filesystem object.
42f4ca423ab3 treesum: REFACTOR: Major refactoring of computing digests:
Franz Glasner <fzglas.hg@dom66.de>
parents: 222
diff changeset
14 Also used if the link is broken and the target type cannot determined.
194
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 Other paths that *end* with:
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 ``/./@/``
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 Symlink to a directory
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 ``/./@`
938488f87b62 Begin a file with some notes on treesum.py and its digest file format
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23
270
42f4ca423ab3 treesum: REFACTOR: Major refactoring of computing digests:
Franz Glasner <fzglas.hg@dom66.de>
parents: 222
diff changeset
24 Symlink to other filesystem object.
42f4ca423ab3 treesum: REFACTOR: Major refactoring of computing digests:
Franz Glasner <fzglas.hg@dom66.de>
parents: 222
diff changeset
25 Also used if the link is broken and the target type cannot determined.
198
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
26
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
27
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
28 Fields:
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
29
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
30 ``FSENCODING``
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
31
c1e875ba4bdc Put the effective filesystem encoding into the treesum digest file using FSENCODING = <encoding>
Franz Glasner <fzglas.hg@dom66.de>
parents: 194
diff changeset
32 The result of :func:`os.getfilesystemencoding` that is in effect when
219
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
33 generating treesum digests (process environment)
204
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
34
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
35 ``ERROR``
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
36
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
37 Errors are reported:
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
38
07f1d79e6674 Fully implemented UTF-8 mode for treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents: 198
diff changeset
39 - For directories if the one of filenames has a filename problem
209
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
40
212
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
41 ``FLAGS``
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
42
219
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
43 Some flags are always printed.
212
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
44
219
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
45 - no file modes and no file mtime is taken into account for digesting
212
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
46 - no file size is printed
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
47
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
48 Contains:
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
49
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
50 - ``with-metadata-fullmode``: if a file mode is used completely as
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
51 given by the OS for digest computation
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
52 - ``with-metadata-mode``: if just the "portable" file modes are used
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
53 for digest computation
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
54 - ``with-metadata-mtime``: if the mtime as ISO-String and truncated to
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
55 seconds is used in digest computation
219
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
56 - ``print-size``: if the filesize is to to be printed also -- does not
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
57 change digests
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
58 - ``fs-encoding``: the filenames are given in FS encoding
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
59 - ``utf8-encoding``: the filenames are given in UTF-8 encoding
19eaba51c632 Refactored the printing of FLAGS: print flags always and explicitely print symlink behaviour and encoding configuration
Franz Glasner <fzglas.hg@dom66.de>
parents: 212
diff changeset
60 - ``follow-symlinks-XXX`` and ``no-follow-symlinkx-XXX``: if symlinks are followed on the command
212
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
61 line, while directory walking or for files
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
62 - ``size-only``: if no digest is to be computed and only a file's size
7cf9df49d0ba Some notes about FLAGS
Franz Glasner <fzglas.hg@dom66.de>
parents: 209
diff changeset
63 is printed and the accumulated file sizes for a directory tree
209
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
64
222
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
65 ``ROOT``
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
66
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
67 Always printed in UTF-8 encoding
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
68
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
69 ``COMMENT``
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
70
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
71 Always printed in UTF-8 encoding
d7be68a8937d Note that ROOT and COMMENT are always printed in UTF-8 encoding
Franz Glasner <fzglas.hg@dom66.de>
parents: 219
diff changeset
72
209
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
73
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
74 Offene Fragen
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
75 =============
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
76
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
77 VFAT und Encoding
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
78 -----------------
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
79
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
80 Verfolgung von Encoding-Einstellungen über Mount-Punkte hinweg -- gerade
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
81 für externe Medien mit VFAT/MSDOS-FS.
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
82
efbf99bd0910 VFAT-Encoding-Problem notiert
Franz Glasner <fzglas.hg@dom66.de>
parents: 204
diff changeset
83 Erst einmal zurückgestellt